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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
# u: X: a# Z& X3 U1 `, g1 KXSPA(SSPA)是什么?. u! B6 G- W8 Z; s3 V
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
% A( n8 M; t. k2 N' PPHP fsockopen() function:, w0 X8 e; v1 X* c$ J3 p
<?php
  F4 q6 }4 l0 }8 [. k  {* Cfunction GetFile($host,$port,$link)
& v/ W6 b1 l5 m* E6 ^+ }" W: x{: t0 H/ i$ l: ~+ P( N9 P; h& q& E
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);# g6 T+ B/ s) P' Z" @
if (!$fp) {
7 C( t. G4 i5 o6 M$ ?echo “$errstr (error number $errno) \n”;' R8 [  y0 k; L6 ]
} else {
. q, Z3 B  X5 K5 v& O- B' ?$out = “GET $link HTTP/1.1\r\n”;0 S) ]* b5 i  ^5 N+ D
$out .= “Host: $host\r\n”;; W7 M" w: p6 _
$out .= “Connection: Close\r\n\r\n”;2 ?6 j  y% k" K& U% `! r- w; |/ J7 v
$out .= “\r\n”;
* L7 o+ B* d* \: Ofwrite($fp, $out);
9 g! Z7 g" o7 ~, |$ u$contents=”;6 G2 L3 l5 N: B  r( M& I. F( v4 U
while (!feof($fp)) {$ A' I- G/ F; l% k* K
$contents.= fgets($fp, 1024);& G. U7 k9 {, H- |: |
}% o8 r# {+ P! a" I4 {3 t9 [1 {: G
fclose($fp);
3 a: O& m" H+ n6 Y0 r9 Z) Yreturn $contents;  k) F7 u- j: c' N  p, p
}8 D0 J' U. l2 i  H& H. X0 n
}( h3 c3 i; Q) p; d& n) L9 k% w9 Y
?># }/ F; c# f# O6 t: w1 E
复制代码
+ ^- {4 B9 J0 B; m9 n# D$ q9 a此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。( Q/ O/ o# J2 P- \( X1 |. n2 P
  PHP curl_exec() function:, i* m  C' Z! H" u9 R7 g3 @7 v; W3 @
<?php
8 f& A( a+ Z. p+ yif (isset($_POST['url']))  I! @% h! A7 r: V: \4 i* S
{/ o+ U; i5 ?8 P: ~/ g" B. j
$link = $_POST['url'];
1 D0 ]* a: J9 P, Q" U. C5 G$curlobj = curl_init();5 w$ E  @5 h" f* J# j! S
curl_setopt($curlobj, CURLOPT_POST, 0);
$ h5 `6 s: _! g. ccurl_setopt($curlobj,CURLOPT_URL,$link);
  V7 ?' n7 z4 |# a' v# O6 ?curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);: h& V# y8 }3 Y  o% |. z) G5 T: M
$result=curl_exec($curlobj);
6 t) D/ {5 n2 A  w: @6 }7 ]curl_close($curlobj);  i$ e7 j7 b2 U1 P

6 W& M2 }* C* Y3 p$filename = ‘./curled/’.rand().’.txt’;8 p" A, T4 z' U4 h* e
file_put_contents($filename, $result);
4 H9 I& s# b! X: ]" O+ Recho $result;
& D5 w; s: X7 f! K}
2 ^6 K: f" `9 o! o) y?>& [" V7 X/ u4 B) O) E+ w
复制代码
' p- r: C7 n* M; h% Q这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。5 k; T7 m1 ^% P8 M
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:3 j2 B: R8 h! H  ]+ z% [
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,) o. c. P0 ^$ c
2。开发弱势运行的程序在Intranet或本地Web服务器
: \" V! w  M; E, v' d3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)3 n, K/ n$ k2 ?1 q/ ]+ Y
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为8 ?" K$ G+ @: m$ [* ?( p) u; z' J* a
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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