扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
现在很多网站都采用了通用防注入程序,那么对于这种网站,我门是否就束手无策了呢?答案是否定的,因为我们可以采用cookie 注入的方法,而很多通用防注入程序对这种注入方式都没有防备。
在讲之前,我们还是来回顾下ASP脚本中Request对象的知识吧,上面几讲中都提到Request对象获取客户端提交数据常用的是GET和POST二种方式,同时request对象可以不通过集合来获得数据,即直接使用"request("name")"但它的效率低下,容易出错,当我们省略具体的集合名称时,ASP是按QueryString,from,cookie,servervariable,集合的顺序来搜索的,在request对象成员中集合cookies,它的意思是"读取用户系统发送的所有cookie值,我们从第二讲关于"cookies欺骗入侵和原理"中知道,cookies是保存在客户端计算机的一个文本文件,可以进行修改,这样一来,我们就可以使用Request.cookie方式来提交变量的值,从而利用系统的漏洞进行注入攻击.
我们首先还是来看看中网景论坛的最新版本"(CNKBBS2007)中网景论坛2007v5.0 "官方下载地址"http://www.cnetking.com/websys2.asp?id=26"发布时间是2007-06-06,打开系统的源代码后,在"user_RxMsg_detail.asp"文件中,有如下代码:
<!--#include file="opendb.asp" --> (调用opendb.asp文件) <!--#include file="char.asp" --> <% Call CheckUserLogin(username) Dim action,s,id id=request("id") (获取客户提交的变量,并赋值给id,并没过滤,也没有指定采用那种方式提交) if id<>"" then Call IsNum(bid) (这是程序员的出现地方,注意bid<>id) conn.execute("update cnk_Users_RxMsg set readed=1 where id="&id) ’设置已读 rs.open "select * from cnk_users_RxMsg where id="&id,conn,1,3 |
<%Option Explicit Response.Buffer = true%> <!--#include file="fzr.asp" --> (调用fzr.asp文件) <!--#include file="cnkdata/dbname.asp" --> <!--#include file="config.asp"--> .................. |
以现它是连接数据库的文件,其中调用了fzr.asp文件,我们再打开fzr.asp文件
<% ’--------版权说明------------------ ’SQL通用防注入程序 ’Aseanleung ’--------定义部份------------------ Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr Dim fso1,all_tree2,file1,files,filez,fs1,zruserip If Request.QueryString<>"" Then (对Request.QueryString提交(客户采用GET方式提交)的数据进行判断,并没有指明对其它方式提交的数据进行判断) ’自定义需要过滤的字串,用 "|" 分隔 Fy_In = "’|;|%|*|and|exec|insert|select|delete|update|count|chr|mid|master|truncate|char|declare|script" (阻止了常用的SQL注入的语句) Fy_Inf = split(Fy_In,"|") For Each Fy_Get In Request.QueryString For Fy_Xh=0 To Ubound(Fy_Inf) If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then zruserip=Request.ServerVariables("HTTP_X_FORWARDED_FOR") If zruserip="" Then zruserip=Request.ServerVariables("REMOTE_ADDR") Response.Write "内容含有非法字符!请不要有’或and或or等字符,请去掉这些字符再发!!<br>" Response.Write "如是要攻击网站,系统记录了你的操作↓<br>" Response.Write "操作IP:"&zruserip&"<br>" Response.Write "操作时间:"&Now&"<br>" Response.Write "操作页面:"&Request.ServerVariables("URL")&"<br>" Response.Write "提交方式:GET<br>" Response.Write "提交参数:"&Fy_Get&"<br>" Response.Write "提交数据:"&Request.QueryString(Fy_Get) ...................... |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者