Sqlmap是开源的自动化SQL注入工具,由Python写成,具有如下特点:
- 完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。
- 完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。
- 在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。
- 支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。
- 支持自动识别密码哈希格式并通过字典破解密码哈希。
- 支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。
- 支持在数据库管理系统中搜索指定的数据库名、表名或列名
- 当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持下载或上传文件。
- 当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持执行任意命令并回现标准输出
在网上闲逛的时候,发现内蒙古某公司的主页,点击新闻选项发现url如下图所示:
输入经典的and1=1测试,页面没有变化
然后and1=2测试,页面显示空白
怀疑存在注入点。丢到sqlmap中测试,结果显示存在注入,后台数据库access,网站使用jsp
接着看看表,输入--tables选项,继续测试
提示不能取回table,是否使用默认表做测试(当然了),y默认回车
然后使用自带表名回车,然后输入线程.这里输入5
可能速度太快了,出现了连接被重置错误,先不管它,一会儿不行再调慢一点
一堆报错信息后,等待一会儿,结果出来了
接下来看看admin表里有什么,5个线程太快,这次3,继续爆
不知道是某些安全设备还是服务器性能问题,3个线程还是有连接重置.
爆出4个列,内容如下:
接下来看看这些列里有什么内容
经过漫长的等待,数据爆出来了
可以看到密码经过加密,32位,应该是md5加密,在MD5解密网站试试运气,然后进行接下来的找后台或者其他方式继续入侵.这里不展开讨论.