内容简介:最近在对公司历史遗留的老业务进行安全测试,简单记录一下测试的过程。子域名是
最近在对公司历史遗留的老业务进行安全测试,简单记录一下测试的过程。
主页是一个phpinfo的页面,首先对网站进行文件扫描。
wfuzz -w common.txt -z list,-.php-.html –hw 76 http://upload.xxxx.com/FUZZFUZ2Z
******************************************************** * Wfuzz 2.3.4 - The Web Fuzzer * ******************************************************** Target: http://upload.xxxx.com/FUZZFUZ2Z Total requests: 13839 ================================================================== ID Response Lines Word Chars Payload ================================================================== 003313: C=200 5 L 11 W 203 Ch "crossdomain.xml - " 006047: C=200 562 L 2593 W 46219 Ch "index - .php" 006058: C=200 562 L 2593 W 46219 Ch "index.php - " 008776: C=301 0 L 0 W 0 Ch "php - " 012639: C=200 86 L 179 W 2315 Ch "uploadfile - .html" Total time: 131.0165 Processed Requests: 13839 Filtered Requests: 13834 Requests/sec.: 105.6279
扫描结果中index.php为首页的phpinfo页面,另外扫描发现了 php 目录和uploadfile.html文件。
访问php目录返回401错误:
http://upload.xxxx.com/uploadfile.html 为空白页
查看源代码有所发现:
这里猜测phpPath为php目录,结果证实了我的猜想:
构造参数:
上次文件,查看返回:
图片成功上传,另外发现了一个命名疑似图片裁剪的文件phpcutPhoto.php
先测试了文件上传漏洞,发现服务器进行了图片验证,然后强制改后缀,此路不通
访问 http://upload.xxxx.com/php/phpcutPhoto.php 发现文件不存在,这里走了些弯路
后面测试发现地址应该是 http://upload.xxxx.com/php/cutPhoto.php
前面uploadHead.php中phpPath参数值为php,所以后面文件名误加了php,这里应该是以前的代码有bug
访问后提示打开失败,明显是缺少了图片地址的参数,这里可以使用WAScan、Arjun等 工具 进行参数爆破。我这里就简单用burpsuite fuzz爆破一下:
参数名可以考虑使用 https://github.com/s0md3v/Arjun/blob/master/db/params.txt 里的参数名。
这里我自己简单构造了一些常见的,没包括首字母大写的情况:
img image images imgpath img_path file filename path file_path filepath
参数Fuzz爆破结果:
返回中可以看到,虽然报了错误,但是图片剪切后的文件成功生成了:
访问同服务器的图片域名,发现文件存在:
现在我们可以来测试这个接口的本地文件读取和ssrf漏洞
先测试本地文件包含:
path=/etc/passwd,返回/etc/passwd.jpg.jpg打开失败
把path改成一个不存在的文件:
path=/etc/test,返回/etc/test打开失败
当path为一个存在目录的情况:
测试发现读取一个存在的非图片后缀文件或目录时,会自动把path加上.jpg.jpg
这样的话我们只能通过这个接口探测服务器的文件或目录,但无法进行正常的文件读取的操作
另外我测试了ssrf,发现无法直接访问外部链接
突然发现忘记了php伪协议的操作
php://input没戏,另外尝试了其它协议配合截断读取的方法,也都以失败告终。
但当我测试到path=php://filter/read=string.tolower/resource=http://m3rryz.com/ 返回有了数据
并且我的blog获取到了服务器的请求:
可以看到服务器请求了 http://myblog.com/.jpg.jpg 并返回了404
那么当我在blog上,构造一个x.jpg.jpg的文件,内容为/etc/passwd
然后让path=php://filter/read=string.tolower/resource=http://m3rryz.com/x
是否就可以绕过之前的限制,进行本地文件读取呢?
然而现实很残酷:
这里path必须为真实图片,否则无法进行cut操作。:(
不过过程还是有点意思的,对文件读取和ssrf漏洞了解更深了一些。
如果有其它绕过思路的朋友,希望可以留言指教下。
以上所述就是小编给大家介绍的《记一次历史业务安全测试》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 单元测试和集成测试业务
- 有赞业务中台测试团队介绍
- 有赞业务中台测试团队介绍
- 什么类型的测试可能涉及业务分析师BA?
- 带有业务逻辑的比对思想在接口测试中的应用
- mp-redux:解耦小程序中的业务与视图,让测试更容易
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
CSS权威指南(第三版)
[美] Eric A.Meyer / 侯妍、尹志忠 / 中国电力出版社 / 2007-10 / 58.00
你是否既想获得丰富复杂的网页样式,同时又想节省时间和精力?本书为你展示了如何遵循CSS最新规范(CSS2和CSS2.1)将层叠样式表的方方面面应用于实践。 通过本书提供的诸多示例,你将了解如何做到仅在一处建立样式表就能创建或修改整个网站的外观,以及如何得到HTML力不能及的更丰富的表现效果。 资深CSS专家Eric A.Meyer。利用他独有的睿智和丰富的经验对属性、标记、标记属性和实......一起来看看 《CSS权威指南(第三版)》 这本书的介绍吧!
CSS 压缩/解压工具
在线压缩/解压 CSS 代码
随机密码生成器
多种字符组合密码