目录
第三关:渗透网站的时候目录也很重要
本文通过《webug3靶场第三关 渗透网站的时候目录也很重要》来进行渗透实战。根据关卡的名字,大概可以猜到这一个目录遍历相关漏洞的题目。目录遍历(扫描)是一种在网络安全领域和网站开发测试中常用的技术手段,下面为你详细介绍其相关信息。
目录扫描是指通过自动化工具或脚本,尝试访问目标网站的一系列可能的目录和文件路径,以发现网站上存在但未公开的目录、文件等资源。这些隐藏的资源可能包含敏感信息,或者存在安全漏洞,可被攻击者利用。目录扫描的正向应用主要用于如下场景。
- 安全测试:安全人员使用目录扫描来评估网站的安全性,找出潜在的安全风险点,例如未授权访问的管理页面、备份文件等。
- 网站开发与维护:开发人员和维护人员可以利用目录扫描来检查网站的文件结构是否完整,确保所有文件都在正确的位置。
目录扫描工具通常基于以下原理工作:
- 字典攻击:工具会预先准备一个包含大量常见目录和文件名的字典文件。然后,工具会依次尝试访问目标网站上的这些路径,根据服务器的响应状态码来判断路径是否存在。例如,状态码 200 通常表示文件或目录存在,状态码 404 表示不存在。
- 递归扫描:在找到一个存在的目录后,工具会继续在该目录下进行扫描,尝试访问该目录下的子目录和文件,以发现更多的资源。
常用的目录扫描工具
- DirBuster:一款功能强大的开源目录扫描工具,具有图形化界面,易于使用。它支持多种扫描模式,包括字典攻击、暴力破解等。
- Dirsearch:是一个用 Python 编写的命令行目录扫描工具,速度快,支持多种文件类型的扫描。可以通过自定义字典来提高扫描的准确性。
- Dirmap:DirMap 是一款用 Python 开发的目录扫描工具。它速度快、精度高,支持多线程与多种协议。能扫描目录、文件,具备指纹识别功能,可自定义字典。常用于网站安全测试与信息收集,能输出多样结果助分析,不过使用时需获授权,避免影响目标网站。
1.打开靶场
网址如下所示
http://192.168.71.1/webug3/pentest/test/san/index33.htm
打开后直接把flag写在网页中
拉到当前页面的最下面,提交flag
不过提交flag后看起来不太对
看来这个flag不对,所以需要从其他思路入手
2.目录遍历
因为提示渗透网站的时候目录也很重要,所以使用工具渗透试试
第03关的网址为
http://192.168.71.1/webug3/pentest/test/san/test/
使用dirmap目录扫描工具进行渗透,dirmap使用以下命令对目标网站进行基本的目录扫描。
python3 dirmap.py -i http://example.com -l simple
其中,-i
指定目标网站的 URL,-l
指定使用的字典级别,simple
表示使用简单字典
故而对于本关卡,渗透命令如下所示
python3 dirmap.py -i http://192.168.71.1/webug3/pentest/test/san/test/ -lcf
交互过程如下所示
kali@kali:~/dirmap$ python3 dirmap.py -i http://192.168.71.1/webug3/pentest/test/san/test/ -lcf
##### # ##### # # ## #####
# # # # # ## ## # # # #
# # # # # # ## # # # # #
# # # ##### # # ###### #####
# # # # # # # # # #
##### # # # # # # # # v1.0
[*] Initialize targets...
[+] Load targets from: http://192.168.71.1/webug3/pentest/test/san/test/
[+] Set the number of thread: 30
[+] Coroutine mode
[+] Current target: http://192.168.71.1/webug3/pentest/test/san/test/
[*] Launching auto check 404
[+] Checking with: http://192.168.71.1/webug3/pentest/test/san/test/msyucwfwacgruyvsfkriolmnawsroxsrgtnslmfsxg
[*] Use recursive scan: No
[*] Use dict mode
[+] Load dict:/home/kali/dirmap/data/dictmult/BAK.min.txt
[+] Load dict:/home/kali/dirmap/data/dictmult/LEAKS.txt
[+] Load dict:/home/kali/dirmap/data/dictmult/dir.txt
[+] Load dict:/home/kali/dirmap/data/dictmult/BAK.txt
[+] Load dict:/home/kali/dirmap/data/dictmult/备份.txt
[+] Load dict:/home/kali/dirmap/data/dictmult/综合高危.txt
[*] Use crawl mode
[200][text/html][245.00b] http://192.168.71.1/webug3/pentest/test/san/test/index.html
于是获取到如下网址
http://192.168.71.1/webug3/pentest/test/san/test/index.html
3.目录名加密
由于提示目录名进行md5加密,这里的目录名为test,如下所示
这里也可以使用MD5加密网址md5加密,sha1加密--md5在线解密
得到的加密结果如下所示
16位 小写 4621d373cade4e83
16位 大写 4621D373CADE4E83
32位 小写 098f6bcd4621d373cade4e832627b4f6
32位 大写 098F6BCD4621D373CADE4E832627B4F6
4.访问加密目录
http://192.168.71.1/webug3/pentest/test/san/4621d373cade4e83
从而获取到/flag{人人都知道站长是个大帅比}/
不过返回提交:flag{人人都知道站长是个大帅比}还是不对
5.flag源码分析
由于flag提交不对,分析一下源码
详细源码如下所示
<?php
$key = $_POST["passkey"];
if($key=="flang{人人都知道站长是个大帅比}")
{
echo "<h1>恭喜!flang正确,过关</h1>";
}
else
{
echo "<h1>flang错误,请重试</h1>";
}
?>
6.更新flag
flang{人人都知道站长是个大帅比}