前言
AVDemo漏洞平台–黑盒测试
环境:phpStudy + php 5.6
目录:
信息收集
说明一下:
因为是本地的环境,端口这些就不扫描了,
还有这个是某个dalao写的平台,也就检测不到什么cms了,
信息收集,端口,cms这些是必做的,
首先,这里先简单的使用轻量级扫描器扫描一下看看
可以看到扫描到了用户注册、用户登录、管理员登录等等,
还有一些302重定向,说明存在admin这个目录 ,
还有一些403无权限访问,也说明网站存在这些目录。
前台XSS
前台搜索留言处存在XSS ,
payload:
<script>alert(/xss/)</script>
管理员弱口令
管理员后台:www.xx.com/admin/login
简单测试 admin admin 然后就进去了
后台命令执行
发现了一个奇怪的页面 ,
跟DVWA的很像有木有,可以执行命令
如果在渗透测试中,我们可以尝试使用 net user
命令来添加用户,
Linux下可以使用 useradd
,
要是对方开了远程桌面,添加用户直接就拿服务器了,
这里我就不测试了,我们来写shell看看 ,
命令:
127.0.0.1 && echo ^<?php eval($_POST[cmd]);?^> > D:/phpStudy/PHPTutorial/WWW/VAuditDemo/shell.php
知道网站路径的话可以写在那个目录都行,不过也得看看有没有访问权限,
然后直接上菜刀
然后菜刀上也经常使用虚拟终端来执行一些命令.
补充: 如果使用 dir 命令来指定某个路径查看文件,需要使用反斜杠
前台头像上传
注册一个test的账号,
然后在头像上传处,我们先拿一张普通的jpg文件测试一下,
发现没有返回什么路径之类的,审查元素也没发现什么路径。
然后传一个 shell.php 文件,发现被拦截了,
试了几个方法还是不行,然后看了处理上传的代码,
没有返回路径,文件名也挺复杂的,
条件限制没有什么好的方法,暂时先放弃了,
一般来说上传的文件一般在upload目录下,这个正好也在这个目录,但是文件名挺复杂了,
就先这样吧!!
前台sql注入
前台留言处发现通过id去搜索留言详情,
那么会不会存在注入,来测试一下
首先一个单引号,发现报错了,
输入 and 1=1
,发现报错有一个 sqlwaf的词,判断存在waf,
应该是吃掉了一些关键字,那么 select ,union 等常见的关键字应该也不能直接用了,
既然 and 被吃了,那来试试 ||
,
发现被替换成了空白符,
来试试大小写,发现也过滤了
来试试 /**/
编码,发现报错了,
感情是被实体化了,
再来试试URL编码 %252f%252a
就是 /**/
的意思,
发现 %百分号被斜杠转义了,
经过多次尝试后,回到上面 ||
被替换成空,那么会不会有机会呢,
果然是可以的,但是超过列数了,
来逐渐删减一下,最后 4 的时候成功爆出显位,
然后来爆一下数据库,
然后想查一下表,发现_
下划线被转换了,这个貌似没有什么好的绕过方法,
然后只能试试盲猜了,数据库一般都有 admin,users表,
发现 admin和users表都存在,但是 users表一般是存在普通用户的,所有我们直接看admin表,
没有报错说明存在
然后再去查爆字段,发现连id这个字段都没有????
最后无奈只能上数据库去查看,发现id这个字段其实是叫admin_id,
下划线是无法绕的,只能用其他方法,
这里可以使用 *
星号,星号在数据库是代表所有的意思,
但是这里必须要相同数量的字段才能查询,不然会报错,
而 admin
这个表字段刚好是三个,然后就直接爆出数据了,
附1:常见状态码
- 200 OK 请求成功。一般用于GET与POST请求
- 301 Moved Permanently 被请求的资源已永久移动到新位置
- 302 Found 临时移动。与301类似。但请求的资源现在临时从不同的 URL 响应请求。
- 401 Unauthorized 当前请求需要用户验证。
- 403 Forbidden 服务器理解请求客户端的请求,但是拒绝执行此请求
- 404 Not Found 所请求的资源(网页)不存在或已被删除。
- 500 Internal Server Error 服务器内部错误,无法完成请求
- 502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
- 503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求。
总结
还是太菜了,没能发现更多的漏洞,
跟dalao聊起如何在黑盒测试中定位命令执行,反序列化之类的漏洞,
发现这种漏洞要么是盲打,要么是审计多源码的,
那么就是真正的大牛了,通过自身工作经验找到这类漏洞了。