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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。7 d8 H5 V3 ~! d
XSPA(SSPA)是什么?
9 Y6 J6 G3 g3 k9 G! o$ v' F/ H如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。  N6 V3 o! M6 P5 c' {! `* V
PHP fsockopen() function:; P1 b1 E7 }" p5 S, c) B
<?php
# K% ~3 }) e$ ?& w7 T2 b: d9 Xfunction GetFile($host,$port,$link)
+ g2 q. W& f' H, ]{7 y) l5 }* e( c4 ^
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);. O& T, z/ Y+ J# N- u, m0 P0 _
if (!$fp) {
: Z1 X7 V0 J) q) r% m( Fecho “$errstr (error number $errno) \n”;2 M; ?( d4 q2 [" z0 t
} else {
) K. Z$ W: F$ H- P& C$out = “GET $link HTTP/1.1\r\n”;
  x+ M. s4 y+ S& |9 W5 R$out .= “Host: $host\r\n”;8 X- e5 x& H0 t
$out .= “Connection: Close\r\n\r\n”;
/ P4 ?& i6 l$ Q% T9 f$out .= “\r\n”;. G+ Y( u) ^; N/ c2 m: N0 D) n
fwrite($fp, $out);+ o& p( f+ l( n3 k# U- V
$contents=”;
& q8 J& g9 T. b1 X3 I  j+ Uwhile (!feof($fp)) {
8 i4 y. l, Q$ }2 i. `5 K+ [$contents.= fgets($fp, 1024);
* z( D: P: n" P0 k& W}9 i2 |& g" @$ K" ~
fclose($fp);
- Z* ]0 `1 d& e$ jreturn $contents;. P- E8 _2 Y! ~, l$ D) U3 S# L
}# s- m1 r8 f' p! r8 y8 `
}% G+ ~; D! s. y$ S" C
?>
8 U- w5 a$ H3 T) S+ t  \8 K& ]复制代码
3 H' b* S6 k- _! n+ E此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
- z9 U. k4 `/ Z. ]+ l  PHP curl_exec() function:' _9 m2 Z6 e) H% M, w
<?php/ d, o5 B/ p' v7 F+ \
if (isset($_POST['url']))
  c0 `# ~# g2 d' N{: s) ]' y* \; k  y
$link = $_POST['url'];
- |! R( N4 m( c; D+ P$curlobj = curl_init();6 R8 z! }/ n; l& s- v7 B' t
curl_setopt($curlobj, CURLOPT_POST, 0);
; |% m0 l# v0 T- [2 @9 qcurl_setopt($curlobj,CURLOPT_URL,$link);
  k+ d: Z) i* n% ]' Qcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);5 v: \" W; ~/ B7 o7 _6 ]
$result=curl_exec($curlobj);
. ?# I; Z: E& S+ D, _' tcurl_close($curlobj);
% m) Q( _- M+ Q. @7 q
% b, `7 J/ E# k8 O4 u) C: C$filename = ‘./curled/’.rand().’.txt’;
8 {" z2 O1 A+ g+ |* v/ d( s1 Nfile_put_contents($filename, $result);6 B0 K4 s  S0 g: L+ K" v
echo $result;
3 e5 o' z( q% m}
4 S, j. n! S6 `! g) ]; P?>
7 J. w9 f2 P! A/ x& G复制代码9 C$ {3 g0 M, N9 d( a
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
8 S( P2 U  T0 S* |+ l9 D在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:  x& ~1 ]5 x0 L/ {* p" h9 Q6 l
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,0 v. c' Q/ K" @5 V, a" O9 |
2。开发弱势运行的程序在Intranet或本地Web服务器
# ~* i8 [4 B2 M5 v" N* Y* o3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等): j' l  m7 N! D9 C, @+ c6 A
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
' g& D9 [: S7 H! h( Q9 C" C, K5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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