网易游戏运维林伟壕:永不落幕的数据库SQL注入攻防战(2)
主要会用到下面几款工具.
2、渗透测试环境 要知道,在欧美,扫描别人网站可能违法,更别说入侵网站了.同理,我们的测试,也仅使用模拟环境.下面有很多Web渗透的模拟环境,部署起来非常简单. https://github.com/ethicalhack3r/DVWA 3、全景图 在开始测试前,先整理一遍思路.通常渗透测试会遵循:信息采集、入口发现、入口测试、获取webshell、提权等步骤.下面大概介绍下每个环节需要做的事情.
4、发现漏洞 nmap -p1-65535 192.168.115.131 发现http://192.168.115.181/cat.php?id=1存在SQL注入.使用AWVS进行进一步验证,如图6. 图6 5、脱库 使用sqlmap全自动脱库,扫出数据库、表名、列等信息. 图7 6、Getshell 也是使用sqlmap直接在SQL Shell里写文件,当然也可以切换到–os-shell获取操作系统shell直接执行系统命令,如图8. 图8 这里科普一下传说中的“一句话木马”、“小马”、“大马”.“一句话木马”就是将接收任意字符进行执行的PHP/ASP/JSP文件,通常只有几行,甚至只有一行;“小马”就是“一句话木马”或者功能比较简单的Web木马,“大马”就是功能齐全的Web木马,比如图8所示,可以管理文件、数据库、执行系统命令、端口扫描甚至端口转发. 7、提权 从普通用户变成root用户.这个需要利用操作系统内核版本漏洞,所幸该内核版本(图9)很低,真找到了内核exp(图10),顺利提权. 图9 图10 8、进阶利用 提完权就算了?没这么简单,如果处于攻击目的,实际上可做的事情太多了.
图11 图12 刚才完整介绍了一个自动SQL注入攻击的过程,可能大家觉得还是不够过瘾,因为一路只看我在使用工具,连畸形SQL语句都没看到,所以下面大概介绍一下针对MySQL、msSQL、Oracle等主流关系型数据库的手工注入. MySQL 图13
直接在参数后面跟上’,或者\,如果没有合理过滤,是会报语法错误的,不信你看看图13.
(编辑:ASP站长网) |