• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

搜索型注入之我看

发布: 2007-5-25 12:22 | 作者: 未知 | 来源: ChinaZ.com | 查看: 43次 | 进入软件测试论坛讨论

领测软件测试网 勇哥信誓旦旦的写了个搜索型注入的文章,而且很多人看了觉得不错

我不这么认为,注入就是注入,哪里有分什么搜索型?看官们觉得新奇的地方就是他们用普通的注入探测,很多软体不能搜索到注入点而已!

今天看到 黑客基地 有个关于搜索型注入的文章,用到的是勇哥的技术,借此机会我来发发牢骚。

他探测的是三星:http://notebook.samsung.com.cn/index.aspx

注入方式是:


一般网站的搜索都是部分匹配的
有漏洞的url是http://notebook.samsung.com.cn/news/news.aspx?page=1&type=product&ST=title&SC=
构造注入语句 三星%'and 1=1 and '%'='
             三星%'and 1=2 and '%'='

大家看到了吧 两个返回页面是不一样的 说明有注入的漏洞 特征字 写 笔记本 就是三星%'and 1=1 and '%'=' 返回时有的



我们知道一般搜索代码是这么写的:

Select * from 表名 where 字段 like ’%关键字%’

这样就造成了对关键字前后的所有匹配(%是用来全部匹配的)

这里如果关键字没有过滤的话,就可以这样来构造:

关键字=’ and [查询条件] and ‘%25’=’

这样查询就变成

select * from 表名 where 字段 like '%' and 1=1 and '%'='%'

这样就很好的构成了一个sql注入点,当然用手工也可以,用nbsi也可以~~

注入是不分家的,没必要什么型什么型的!~

如果不信,大家请看下面的《sql注入天书》的原话

第一节、SQL注入的一般步骤

首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了。

其次,根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种:

(A)  ID=49 这类注入的参数是数字型,SQL语句原貌大致如下:
Select * from 表名 where 字段=49
注入的参数为ID=49 And [查询条件],即是生成语句:
Select * from 表名 where 字段=49 And [查询条件]


(B) Class=连续剧 这类注入的参数是字符型,SQL语句原貌大致概如下:
Select * from 表名 where 字段=’连续剧’
注入的参数为Class=连续剧’ and [查询条件] and ‘’=’ ,即是生成语句:
Select * from 表名 where 字段=’连续剧’ and [查询条件] and ‘’=’’

(C) 搜索时没过滤参数的,如keyword=关键字,SQL语句原貌大致如下:
Select * from 表名 where 字段like ’%关键字%’
注入的参数为keyword=’ and [查询条件] and ‘%25’=’, 即是生成语句:
Select * from 表名 where字段like ’%’ and [查询条件] and ‘%’=’%’


当然手工是麻烦的

用工具的话,我建议用nbsi的工具比较好,就我感觉只有nbsi结合了这个技术,用别的软体是不能注入的

注入点只要写:

http://notebook.samsung.com.cn/news/news.aspx?page=1&type=product&ST=title&SC=%

再加个特征字符就可以了

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网