来源:自学PHP网 时间:2015-04-17 12:00 作者: 阅读:次
[导读] 今晚看新闻的时候看一个广告,然后就点到了一个站了....然后就你懂的,然后就开始日它了前台啥的注入就没有了,前面一堆过程我就省略了...直接跳后台很简单的后台,随便测试了下...
今晚看新闻的时候看一个广告,然后就点到了一个站了....
然后就你懂的,然后就开始日它了 前台啥的注入就没有了,前面一堆过程我就省略了... 直接跳后台 很简单的后台,随便测试了下,如图,假设我们输入admin 密码随便输的话,则出现 如果输入admin'呢?
有点意思吧,这也是明显的注入了....可是怎么利用这个注入点就是个问题了? 用havij ? paglon? sqlmap? 这里有验证码吧,但是这个验证码通过后台发现发现没啥用......sqlmap也注入不出来..... 只能手工.....想想怎么利用呢? 他这个过程大家知道是怎么来处理的吗? 他是先从数据库里面与用户名比较,如果相同,然后就取出密码与输入的密码比对,然后校验,如果相同,则判断登陆成功.... 有了这个过程,我们就可以判断了 我们可以通过这样子注入// hi.baidu.com/sethc5 admin' order by 10# 我们可以先判断一下字段,经过半分法判断字段为4 然后我们就可以联合查询了.... admin' and 1=2 union select 1,2,3,4#
提示密码错误 看来前面的语句正确了 我们可以将前面的语句变为这样子 admin' and 1=2 union select 1,1,1,1# 然后密码处输入1 这样子是不是验证通过呢?? 可是验证一下不行 知道为什么吗?//hi.baidu.com/sethc5 你想想,你输入的密码一般会md5加密吧,从数据库里面提取出密码也是md5加密的吧! 所以我们这里1,1,1,1都要md5一次..... 我们试试... 我们修改成admin' and 1=2 union select c4ca4238a0b923820dcc509a6f75849b,c4ca4238a0b923820dcc509a6f75849b,c4ca4238a0b923820dcc509a6f75849b,c4ca4238a0b923820dcc509a6f75849b# 然后密码处输1 www.2cto.com 这样是不是通过了呢? 我们验证下 尼玛,居然提示用户名不存在,这是怎么回事???难道前面不成立么? 基友们,你们能想清楚这是怎么回事么? 我测试给大家看
这里通过了,如果我们修改一个字段试试,就将12修改成a 看会发生什么?
他会报错.... 所以知道了吧,这个就不要我解释了吧,我们需要加上单引号了啦.... 我们测试下
所以..... 我们前面的就可以修改了,对吧 我们可以修改成这样... 用户名输入 admin' and 1=2 union select 'c4ca4238a0b923820dcc509a6f75849b','c4ca4238a0b923820dcc509a6f75849b','c4ca4238a0b923820dcc509a6f75849b','c4ca4238a0b923820dcc509a6f75849b'# 密码处输入 1 然后我们看发生什么.... 呵呵 射进去了吧!
然后后台很简陋 有一个上传的地方.... 不能直接上传shell 只能上传gif和flash 测试了下,发现只验证文件类型,欺骗下,修改下数据包,get一个shell 就这样到手了....
不过最后结尾我想和大家讨论一个问题?
为什么在mysql中会存在dual这个表? 这不是oracle的吗? 我之前测试的时候我还以为是oracle了.... 但确实在这个数据库中不存在dual这个表啊....可是他却成立,希望能大神能告知小菜.... |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com