找回密码
 立即注册
查看: 2857|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。; L- L0 F0 S& X& G* y4 r% w
XSPA(SSPA)是什么?5 J+ o9 F9 c5 q7 O
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
9 Z' i7 j# _( I5 c$ SPHP fsockopen() function:, i# g: h& T- }  m1 R
<?php6 O9 ?) a4 R. y. i
function GetFile($host,$port,$link)4 M3 S" b+ O- o, |, p0 j
{& K6 t) i. z/ o4 s
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);# F8 ?0 G4 s; M; z9 `) V( s
if (!$fp) { 0 N5 q* S( K* i8 J9 n( t
echo “$errstr (error number $errno) \n”;% P9 P2 N! Q( s2 e! v
} else {  B$ y# V) H# K  y; g/ f3 [
$out = “GET $link HTTP/1.1\r\n”;
; Q# j- s. x& r: ~: I3 k$out .= “Host: $host\r\n”;
) z7 D% Q/ I3 g/ z1 }1 y' h8 K; n$out .= “Connection: Close\r\n\r\n”;
, Z* a( \: d  K  U$out .= “\r\n”;' I* d3 \- w+ O- O+ g$ t
fwrite($fp, $out);+ ]7 M2 _. j3 \2 X" f
$contents=”;
1 c1 R0 T0 `. e8 {  t. J; Mwhile (!feof($fp)) {% _3 m, z- h7 ^* A% o
$contents.= fgets($fp, 1024);: j' |% R0 z( t1 h$ @
}& k3 e: F- R* i2 ~" G
fclose($fp);
+ D& \- A9 c: ]$ F5 w+ Q; Freturn $contents;
1 P( P- p! t: w& M}
/ h1 n. N. O/ Z9 t: i) J2 h' @}3 n( }* n- P# O1 c2 Y2 v
?>
, f+ M; J7 h4 w; B复制代码5 y- s2 X" x' N0 D
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
0 c6 P. [( J, h$ m7 E7 x/ T( I  PHP curl_exec() function:
1 q4 w# x4 o* U5 W! _<?php* q2 P2 d+ P6 v4 V# E) H4 C
if (isset($_POST['url']))
% ^' u4 Y8 I  w- h% m{' D* z5 [+ A: G5 Q& d
$link = $_POST['url'];
: O7 |! I$ y$ }1 s6 m$curlobj = curl_init();' v6 U2 B+ ?) W  M% m; Q2 }
curl_setopt($curlobj, CURLOPT_POST, 0);
* A/ F1 ^( H( p9 m# l4 C3 ^* Bcurl_setopt($curlobj,CURLOPT_URL,$link);+ Q: Y3 q  B- X# l
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
& U* G# d- X1 z, B  m6 l$result=curl_exec($curlobj);
' G& _: T& V' k2 Hcurl_close($curlobj);9 v. b- I# u3 `

0 ]: X8 L7 }0 f2 m; l3 y$filename = ‘./curled/’.rand().’.txt’;
7 y# p" P+ u2 h% x2 d) ]file_put_contents($filename, $result);
( \3 o* Q, P! }0 Z% C# M  Secho $result;  D- k7 S3 l2 C8 N7 }0 P% u
}
! U! c" ?3 g' `: I?>
" _9 n5 B$ U9 M4 r' K1 |复制代码- m& x! I; J: f" a/ i& n
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。0 ~; p' h1 C" K; j* K
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
% P# }( A2 E( Y1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
, c) I2 m1 c/ r) U; s! X, q2。开发弱势运行的程序在Intranet或本地Web服务器8 O  N9 C8 B1 ^. n1 H7 t
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
% `3 I: V3 I3 i# A# _+ {% V+ E4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
4 X1 ^1 s. X; L4 x! k- z6 @5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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