找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 2071|回复: 0
打印 上一主题 下一主题

跨站点端口攻击 – XSPA(SSPA)

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
9 O; i, k' n0 ~6 f. D# f5 |) \0 xXSPA(SSPA)是什么?+ J6 u; _* _9 x+ J( A/ X1 o
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
! n9 s8 F' s) B/ ?% {PHP fsockopen() function:
; T6 ~/ T! \6 C% f( H<?php% n2 h4 _8 I& S/ E' }. V0 F
function GetFile($host,$port,$link)
. ?2 w, c4 d3 g. y{0 }: w' A# N; K- N& a( q
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);8 s" U, f+ F; n# m- b' O& w8 @, C
if (!$fp) {
  p# z; o  H+ a" [' T7 Decho “$errstr (error number $errno) \n”;
* t) P: _7 ?3 E/ \} else {
5 ?/ k8 y0 K) r) i$ H$out = “GET $link HTTP/1.1\r\n”;
& S, e5 q, J* S3 X& Z6 x6 `( Y$out .= “Host: $host\r\n”;3 q8 G1 y0 }" U
$out .= “Connection: Close\r\n\r\n”;9 t9 e. |& R- ~, i
$out .= “\r\n”;7 D6 `" j8 a- m) C
fwrite($fp, $out);* S/ O2 H# l& V3 A9 C# V3 c! O
$contents=”;
+ k3 ?+ @1 D  u* Jwhile (!feof($fp)) {) k( t( [  f) K; e1 b
$contents.= fgets($fp, 1024);2 L8 I! \1 _& O0 O2 X
}. t% ]& f$ \( e5 k  `+ A
fclose($fp);
% }, u$ S# y7 X3 ~; Dreturn $contents;+ j3 b  a$ W  |, ^; ]% e2 l
}0 P! u4 x1 |9 a: T/ J
}, m8 v) P' ^1 Q. Y% R
?>
* \$ l- d( }2 @& f3 n复制代码
$ G  n# h) h! G  ]6 V此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
" _$ `! z2 I6 z5 p' h* j' ?  F: S) U- A  PHP curl_exec() function:
% \: I1 P4 q0 O, B( ]5 m<?php2 w( `) I6 n# I* W7 O" A- s
if (isset($_POST['url'])). ?" p0 A1 t7 m: f2 i
{+ \# ?# R$ V) L7 _2 E1 [* U
$link = $_POST['url'];0 w1 _) c9 m$ |. j9 e
$curlobj = curl_init();
0 p3 @* ]# @1 d0 N  }& i4 _4 z; ncurl_setopt($curlobj, CURLOPT_POST, 0);/ X) _: }' S) u- k) C
curl_setopt($curlobj,CURLOPT_URL,$link);. k' ^& W) L. D( a/ [
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);% L. g5 Y1 Z$ u* C2 o) V' W
$result=curl_exec($curlobj);
# n2 C, u3 R6 C% r( R2 bcurl_close($curlobj);
/ b$ n1 z8 X8 X$ u, H, J9 l
3 k5 F( ~9 X2 _1 a) f' H" X# c$filename = ‘./curled/’.rand().’.txt’;* z6 K  E5 Q8 B& C7 r
file_put_contents($filename, $result);! G! @  `$ x; Q: V
echo $result;1 d- d4 i* v. [8 W" U
}4 [6 ]2 S; L( _) t
?>9 H" r2 [) H6 F' ~2 _# w$ G5 v
复制代码7 r7 x* o) p5 x1 n  i
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
& d) p3 V' ]" D+ C9 s在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
, p, m. N! ?( }: P1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
) u& S* ^+ R6 R# `2。开发弱势运行的程序在Intranet或本地Web服务器  L  b: s) Q. o# a! v: V* S- X
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)! R; v0 K7 q$ B# X, {
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为" l0 a' t) Y) y4 J0 P0 U5 ]
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表