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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
8 s6 [1 \5 X* }5 c7 tXSPA(SSPA)是什么?
# v9 k, g8 Q+ u; Z8 I如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。5 U( J5 Z5 g3 F2 ]
PHP fsockopen() function:
0 I+ S2 b# r# |7 ?" B<?php; j: h2 z* P5 g" e1 |5 G
function GetFile($host,$port,$link)
2 I! z  K! I  W3 a( C3 I8 g{4 K5 q% L+ A+ r7 q
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);, m$ ^4 |2 [; S1 J- G3 E# O
if (!$fp) {
, V4 W0 R* M. H; fecho “$errstr (error number $errno) \n”;
( T! J* Z, |. k  j} else {. y9 \+ A) h0 o  k5 Q3 ~1 r
$out = “GET $link HTTP/1.1\r\n”;: l3 }( W% ]$ d! S6 b
$out .= “Host: $host\r\n”;9 k* v3 e$ o! L% ^. z" u% P
$out .= “Connection: Close\r\n\r\n”;# f' l6 M0 T4 e; k  s
$out .= “\r\n”;
7 t0 H+ V( r: K) e: k7 J9 ~fwrite($fp, $out);7 T: u1 x$ Q; u' f
$contents=”;
. o3 z) g* h1 t. d9 Z' s9 E: @while (!feof($fp)) {8 f+ D1 p4 o) w# k% }6 U0 m
$contents.= fgets($fp, 1024);
) H7 Q$ [3 O" k/ F& I* i, o}
/ c. z2 u  U: {, A3 qfclose($fp);% u" a9 R! X& I! A+ Z% i
return $contents;
/ Z, C' {; F; U- @# q}+ k5 F) U: r4 y  E% e0 ]
}! g( I; Y( q/ w) f* n' k
?>. F; B" l- h. F) I
复制代码
+ ^! v6 n; g7 V此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
1 T( H# @- \, h8 q- A  PHP curl_exec() function:' ?" x0 ^6 B$ c% a2 e5 S9 V4 @# C* n
<?php* a2 w1 O' m" A: Z
if (isset($_POST['url']))  n  J' C4 j' ?2 g& Q6 T0 b5 w; P4 W
{
( r. S) a' I1 e" b8 x: f& m$link = $_POST['url'];; R" ^/ A3 d9 ^
$curlobj = curl_init();$ `% u! t7 h' H& m
curl_setopt($curlobj, CURLOPT_POST, 0);* p7 P1 [4 h& ]: ~6 [* c, K, @
curl_setopt($curlobj,CURLOPT_URL,$link);% ~& `/ f% [! H' Q7 }; ?  ]
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);( \1 e# {% z: w
$result=curl_exec($curlobj);
7 r1 U+ U- ~) \5 ?% ~  t% q8 scurl_close($curlobj);
7 B/ E& A& t' l2 T2 Y $ v( ]7 ]2 z9 k9 Z
$filename = ‘./curled/’.rand().’.txt’;
& X  V8 j$ T6 M$ K% q8 M$ W" ~file_put_contents($filename, $result);0 t5 D/ b* i+ ]. i
echo $result;
. T! S" J& C9 W, n# O' W! K# d}
3 Y! w' O3 l" r7 Q- c9 C1 R4 Z?>
  d9 ~, F; g1 U1 h% x) ?  C复制代码& S+ a. @+ @  s6 `1 K1 n1 }$ q0 \/ t
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。& C: V# _8 {3 i3 f
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:4 y% A; }& A2 `0 Q( A7 K
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,/ ?6 D7 a9 b4 _" P. @" K" k
2。开发弱势运行的程序在Intranet或本地Web服务器
, m& O& ^8 N- R1 F: F- @3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
% J) L+ ^" F* z7 k  i4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为, r2 X; o8 c3 ]3 j$ [3 b5 w
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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