作者:左昱_leftshine 刚发现漏洞时,我就已经成功实现了注入,因为怕发到网上后被玩坏,一直没有发布。今天去看了看,原网页已经无法访问了,现在发出来应该就没有什么大问题了。 本文仅供学习交流,目的是为了构建更加安全的网络环境! 注入地址 某VIP会员专用系统 http://www./index.php/Home/Public/login.html 相关工具 注入工具: 超级SQL注入工具【SSQLInjection】http://www./article/1417357815.html 明小子 抓包工具: Wireshark 注入过程 1.测试漏洞 1)测试 ’ 首先打开网页,如下图: 废话不多说,输入单引号' ' '进行测试: 看到测试结果报数据库错误,这就证明该系统存在SQL注入漏洞。而且这些粗心的程序猿连数据库表名都直接暴露出来了(tp_login),这不就等于直接写着: 2)测试 'or''=' 进一步测试,输入' 'or''=' ',点确定,直接就登录成功了,如下图 不用密码,直接进去了,看来漏洞真的存在! 3)测试 3389' and 1=1 and 'a'='a 接下来测试下能不能使用注入语句,这里有两个选择:
or语句前面已经有说明,这里就以知道密码的情况作说明(or语句原理相同) 网页上直接给出了获取密码的方式: 接下来就可以对数据库进行数据库名(前面提到,登录错误信息中已经包含了数据库名'tp_login',真是省事啊)、表名、列名……的猜测了 手动猜测的具体方法可以参考这里: sql注入实例分析(http://www.cnblogs.com/leftshine/p/SQLInjection.html) 当然手动猜测的量太大了,这么劳神费力的事当然要交给程序来完成,不过还是强烈建议看看这篇文章来了解下SQL注入的基本原理,不然后面操作一片茫然。 2.构造数据包 因为该系统不能简单通过网页URL来传递信息,所以我们需要构造数据包以POST方式发送数据包来注入。 1)手动构造: 根据POST数据包结构手动构造一个用于注入的数据包,具体怎么构造那就要去好好学习网络协议了…… 2)抓包构造 这就简单多了,我们直接抓取正常发送的数据包,加以改造就可以用来注入了! 这里我们使用Wireshark来抓包,关于Wireshark抓取与分析HTTP包,参考这里:应用层协议FTP、DNS协议、HTTP协议分析(http://www.cnblogs.com/leftshine/p/5698890.html) 使用Wireshark抓取到的POST数据包内容如下: 修改成注入使用的POST包: 这个数据包可以由软件'超级SQL注入工具'根据上面的包自动生成,具体操作请参考软件压缩包中相应的使用说明。 3.注入 其实我们只要将抓取到的数据包粘进程序中,然后点击'自动识别',软件就会自动进行相应配置,然后看情况改改就可以了(一般情况下,自动配置就可以搞定了)。 配置完后,点击'发送数据'验证当前配置的数据包是否符合条件,若能够正确返回网页信息,则配置可用: 虽然图中显示'登录失败',但证明可以正确返回网页信息,配置可用! 4.获取数据库信息 点击 获取数据 然后转到数据中心,依次'获取库'、'获取表'、'获取列'、'获取数据': 可以看到,确实有名为'tp_login'的表和'3389'这个密码。 接下来就可以随心所欲的获取数据了。 获取到的数据 获取到的管理员账号信息: 有了管理员账号信息,如何使用呢?上第二个软件:'明小子',其实它本身就是一个注入工具,不知道是不是年代太久远了……好多功能不实用。这里我们只用到'管理入口扫描'功能,如下图: 获取到了4个链接,挨个打开看,发现这个可以用: > 输入账号密码,登录 登录成功,看到笑脸真是开心! 成功进入管理后台,发现并没有什么价值的信息,倒是有很多某视频网站的VIP账号,也不造这些万人骑的账号能不能用…… 至此,整个SQL注入成功完成! 文章来源36大数据,www.36dsj.com ,微信号dashuju36 ,36大数据是一个专注大数据创业、大数据技术与分析、大数据商业与应用的网站。分享大数据的干货教程和大数据应用案例,提供大数据分析工具和资料下载,解决大数据产业链上的创业、技术、分析、商业、应用等问题,为大数据产业链上的公司和数据行业从业人员提供支持与服务。 End. |
|