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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
, s7 H1 g! |! A: yXSPA(SSPA)是什么?
! y& |( N+ R3 J0 U如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
3 m' k5 V' W4 O4 m1 W4 q4 DPHP fsockopen() function:
# w. H9 v) ]2 [<?php6 {9 |4 V, w6 }  u
function GetFile($host,$port,$link)
) {8 }7 l# x8 q{1 H& v- h# O( r4 e0 z
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
5 n6 l& G0 ^' I. H: u) U& `3 h! U5 rif (!$fp) {
- C; k* d) O' l; X3 F$ Z6 [, lecho “$errstr (error number $errno) \n”;& b8 ], {: c1 L, u8 `
} else {8 P/ }3 V5 x& z/ A7 y4 Q) ]) ~* c
$out = “GET $link HTTP/1.1\r\n”;
8 ?( ~8 Y( y% a! g4 M$out .= “Host: $host\r\n”;) C- U; G8 b- x3 Y. ?4 F
$out .= “Connection: Close\r\n\r\n”;
  Z! }+ f& |0 e- }9 B) B& y$out .= “\r\n”;0 P7 d/ K( ?2 i' E1 ~
fwrite($fp, $out);
# h3 f# O' v, I$contents=”;% ~  c0 d, b4 @8 L, ~9 @/ E- [+ ]0 x
while (!feof($fp)) {
( f  Q' i" G( j6 R  K0 X$contents.= fgets($fp, 1024);
! Y: U; A' U7 ]6 I+ R5 d3 c}5 J9 Q0 j/ X; ?4 P4 A+ Y
fclose($fp);+ k) j! [6 c' ?. A" W/ `* }# J- F
return $contents;
) X) t6 x9 Q' b4 I}0 W8 l# T9 g+ ~4 K7 J. O+ y: N0 J
}! a+ D1 ^' d+ n1 k
?>* K3 \$ h% H+ |6 |" i
复制代码! j* X- S2 F! @& B4 }9 x% A
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
2 x5 _% \. q% c( Q  PHP curl_exec() function:( z1 o) C) f3 j  w: C$ G
<?php6 _1 i( a- l$ M& F( u
if (isset($_POST['url']))" h4 m) u6 @( N
{2 k' y7 T: ~. ~
$link = $_POST['url'];. P; b) n( K8 t# X( ^- j6 R% z
$curlobj = curl_init();$ Q9 h6 [/ g, G2 Y8 L2 C
curl_setopt($curlobj, CURLOPT_POST, 0);. n4 P7 S) w, ^, r
curl_setopt($curlobj,CURLOPT_URL,$link);# W! ^4 f8 W% h; b* b$ E0 ]& Z
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
# z  y; \) \6 A2 ^& a! N$result=curl_exec($curlobj);
% G: I: \  o2 g6 Jcurl_close($curlobj);
8 M' r2 L" j4 l! { 2 t# }5 _. ]' }9 V
$filename = ‘./curled/’.rand().’.txt’;% D; e: `7 t  X+ e
file_put_contents($filename, $result);
- ~0 {2 Q  {" H# @3 Q- C4 J( necho $result;9 S3 N2 K8 n- t% E( j4 \3 t, k3 u3 n' o
}
- O9 w2 R; y4 x6 V9 L! A# z?>
) z  o+ h9 y! C+ [5 o( P! N; A复制代码! t- i+ |; p/ e! _6 [7 D* M
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。  Y8 p4 p9 z3 l& u( _; ^; y
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:8 G5 {0 ~/ @6 }. ~
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,# s2 d# A# f% M3 \
2。开发弱势运行的程序在Intranet或本地Web服务器
: O! N3 |4 m3 ~) c. v3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)8 z5 ]0 U1 `& e& Q
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
5 ]( R+ S5 o5 U; N% ]# K6 B5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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