本帖最后由 hechengjin 于 2016-7-1 11:20 编辑
http://wetest.qq.com/lab/view/?i ... 79_.0&ADPUBNO=26582
最近在研究Web安全相关的知识,特别是SQL注入类的相关知识。接触了一些与SQL注入相关的工具。周末在家闲着无聊,想把平时学的东东结合起来攻击一下身边某个小伙伴去的公司,看看能不能得逞。不试不知道,一试还真TM得逞了,内心有些小激动,特在此写博文一篇,来记录下我是如何一步步攻破这家互联网公司的。 【作案工具介绍】 (1) AppScan渗透扫描工具 Appscan是Web应用程序渗透测试舞台上使用最广泛的工具之一。它是一个桌面应用程序,它有助于专业安全人员进行Web应用程序自动化脆弱性评估。 (2) Sqlmap渗透测试工具 Sqlmap是一个自动化的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞。 【作案细节如下】 在这56个安全性问题中,找到你感兴趣的链接,例如下面这条: 为何要挑出这一条呢?因为它对于SQL注入比较典型,下面普及下SQL注入常用手法。首先用如下语句,确定该网站是否存在注入点: 如果有出错,说明存在注入点。 1) 再次确认目标注入点是否可用: 参数: -u:指定注入点url 结果: 注入结果展示: a. 参数id存在基于布尔的盲注,即可以根据返回页面判断条件真假的注入。 b. 参数id存在基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。 c. 数据库类型为:MySql 5.0.12 2) 暴库所有数据库: 一条命令即可曝出该sqlserver中所有数据库名称,命令如下: 参数: --dbs:dbs前面有两条杠,列出所有数据库。 结果: 结果显示该sqlserver中共包含3个可用的数据库。 3) 获取当前使用的数据库 参数: --current-db:当前所使用的数据库。 结果: 4) 获取当前数据库使用账户 5) 列出sqlserver所有用户 6) 获取当前用户数据库账户与密码 结果显示该用户可能无读取相关系统的权限。 7) 列出数据库中的表 参数: -D:指定数据库名称 --tables:列出表 结果: 结果显示共列出了69张表。 8) 列出表中字段 参数: -D:指定数据库名称 -T:指定要列出字段的表 --columns:指定列出字段 结果: 9)暴字段内容 参数: -C :指定要暴的字段 --dump:将结果导出 如果字段内容太多,需要花费很多时间。可以指定导出特定范围的字段内容,命令如下: 参数: --start:指定开始的行 --stop:指定结束的行 此条命令的含义为:导出数据库xxx_store中的表mall_admin中的关于字段(ag_id,email,id,mobile,name,password,status)中的第1到第10行的数据内容。 结果如下:
通过上图,我们可以看到admin表中的用户信息了。我们将password字段通过md5解密,可以得到hash的原文密码,通过用户名和密码,我们就可以登录该网站了。 至此,我们已成功入侵到一家公司的后台,并拿到了相关的数据。不过要在这里提醒你:成功入侵只是成功了一半,另外最重要的一半是把屁股擦干净,不让别人发现你了!
|