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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。% C' I# R0 {8 v3 q% E" e7 }
XSPA(SSPA)是什么?
/ U2 d+ [* `1 y4 C: S: q如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。) ]. r( F9 L( J/ ]) T1 f
PHP fsockopen() function:& b/ p% s( \% d9 K2 r8 J& W: k: D
<?php0 R) K- Y! l7 ^, E. V: f# i' \
function GetFile($host,$port,$link). Z, \) B# m3 i8 t# s/ Q5 K+ G& T; K3 S
{8 [4 ^. Q' D$ U* @
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
8 T2 V- C. {7 t7 J; d8 kif (!$fp) { 4 @9 j% }$ ^+ w
echo “$errstr (error number $errno) \n”;
+ J  D4 @9 _$ Y6 |5 I% A} else {6 B9 c7 K5 D4 a, i+ R
$out = “GET $link HTTP/1.1\r\n”;# G' v* D. i5 M" C9 a
$out .= “Host: $host\r\n”;: k6 J8 b2 J5 h+ G$ Q
$out .= “Connection: Close\r\n\r\n”;1 D, V2 Y* e; n, `) v9 f6 S( w
$out .= “\r\n”;
7 P: y9 V! M& L/ J* p/ y  I4 V2 yfwrite($fp, $out);3 Z. T, v# ?6 D7 y; D" f
$contents=”;
9 z) ]7 z8 y' p  xwhile (!feof($fp)) {, @  C. ~$ E9 n0 g
$contents.= fgets($fp, 1024);2 E3 `* w% g6 \! @1 V% Y6 l: L
}
# V, v$ Y7 d/ M* v& @' I5 S6 w9 _5 Ufclose($fp);
) w8 a& [: Q0 o7 Y' ereturn $contents;  g+ w& k% z4 L" E# z
}$ a1 q3 K" O  t4 B/ Q
}
, l' r. b4 w+ h  d. c3 b( m" N?>! I9 V3 g! X: e  o! j) l+ d
复制代码, F0 C" y* ]' c5 Y- A3 v3 F: o- L( c
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。& a4 p" w7 P  u7 e
  PHP curl_exec() function:
3 t# b( O( T, h9 @( ^) [$ x<?php4 [7 w4 M$ Y- ]9 Y# Y
if (isset($_POST['url']))* J6 }5 R0 f; s6 {9 f1 N/ x) _
{2 U1 ]1 ~' S& q5 B; t
$link = $_POST['url'];
& ^" {, A4 h* x5 G# |( K$curlobj = curl_init();
6 q. {. P6 _& F" scurl_setopt($curlobj, CURLOPT_POST, 0);! F% Y9 W. [' M/ S9 t( j
curl_setopt($curlobj,CURLOPT_URL,$link);& G4 `1 h( H" A+ }, u9 f, e8 d
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
0 W5 k5 m5 I2 w. x' M+ D$result=curl_exec($curlobj);
4 c% s  q9 p, a# e" h4 ecurl_close($curlobj);
3 ^& K$ A* l- O, X$ p' h
& U7 Y$ [. q+ u$filename = ‘./curled/’.rand().’.txt’;4 c* `1 D1 C0 v3 Z1 l
file_put_contents($filename, $result);* B& j* {* y- m; m. I' j
echo $result;
6 R! g! b  k2 d' i+ f) ^$ U}
! x1 I9 [; Q7 G* W1 y?>
$ F& W; c- f6 J复制代码4 Z% ~. M( I" D' O9 K' a
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。6 j; _; C3 ]# R' D* _! x% q0 z
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:0 V/ Z/ _$ |$ L& O
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
+ s. ]. e$ a3 T& X, K  X2。开发弱势运行的程序在Intranet或本地Web服务器7 E, A( q$ u' @& c3 a3 e
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等); S$ o& m9 S/ W
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为8 S" g, U) O% e7 e& R& R7 e5 I
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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