作者:古月蓝旻
Directory Traversal - Directories--low
目录遍历漏洞,利用../不断跳出当前目录
比如正常情况这样
我们使用../往上走一层
使用../../../../etc去/etc目录看看
我们看下源码
opendir()函数参数没有过滤啊
Directory Traversal - Files--low
嗯,和上面类似也是使用../跳出当前目录,本漏洞是可以直接读取文件内容,比如读取/etc/passwd
http://192.168.248.130/bWAPP/directory_traversal_1.php?page=../../../../../etc/passwd
使用了fopen函数打开了文件,但对于参数没有做任何处理
Host Header Attack (Cache Poisoning)--low
嗯,和之前的题目一样,缓存没有改成功,改HOST搞定的
原因自然还是直接取了$_SERVER["HTTP_HOST"],这个值是请求包里的HOST值
Host Header Attack (Reset Poisoning)--low
重复题,这里不再赘述
SQLiteManager Local File Inclusion--low
有意思的题目,根据页面提示,我们去找了一下CVE-2007-1232这个漏洞的信息
根据描述
1.2.0版本的SQLiteManager存在一个任意文件读取的漏洞
当请求/sqlite/的时候,通过在SQLiteManager_currentTheme字段添加文件路径
且添加SQLiteManager_currentLangue=deleted
可以将文件内容在响应包中返回
SQLiteManager 1.2 - Local File Inclusion
本地文件包含漏洞无疑,我们测试一下,cookie中添加
;SQLiteManager_currentTheme=../../../../../../../../../../../../../etc/passwd%00;SQLiteManager_currentLangue=deleted
非常厉害
Remote & Local File Inclusion (RFI/LFI)--low
远程文件包含和本地文件包含,顾名思义是去加载远程文件或者本地文件
我们先试一下本地,先把language的值从english.php换成../../../../../../etc/passwd(后来测试直接/etc/passwd也可以)
好的,再试一下远程
我们在云服务器上放一个php(测试完成已删除),内容是phpinfo()
然后改一下language
速度稍慢一些,果然被加载,然后执行了,简直666
那么为啥会这样?
low级别下,源码中直接使用include()函数引用文件,造成了远程/本地文件包含
Restrict Device Access--low
严格设备访问...嗯,一开始以为啥高大上的题目,说我不是智能手机或者平板??
想起了前两天改UA下载某盗版视频网站电视剧的套路,核心就是改UA
用浏览器插件改成手机UA测试一下
果然可以了,改UA绕过访问限制的思路还是可以的
Restrict Folder Access--low
这题是教学题,题目提示很明显了,让我们尝试访问一下底下的这些文件
在low级别下,访问pdf直接预览,访问php直接解析,且未登录状态照样可以访问
在medium/high级别下,首先未登录状态下访问是直接跳转到登录页面,其次登录状态下访问不会解析,而是直接提供下载
看下源码找下问题
low级别下,直接打开directory,然后遍历目录中的文件,在href中生成相关链接
在medium/high级别下,先将directory写入.htaccess中,不允许本目录中文件解析,然后遍历文件,生成链接时,通过restrict_folder_access.php?file=方式加载文件,那么Get请求有file字段时,如果文件存在,会将该文件以二进制流方式提供下载
Server Side Request Forgery (SSRF)--low
一开始以为是没啥用,只是单纯的概念普及,后来发现这题不一般,简直是SSRF的黄金教学题,freebuf的上有一篇文件写的非常nice,写的比我好,这里直接贴出
XML External Entity Attacks (XXE)--low
题目重了这里不多说
这一篇多是以前的重题,但是价值依然很高
还不快抢沙发