[BJDCTF2020]EasySearch-1

2022/7/20 23:23:41

本文主要是介绍[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-1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程