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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
* J6 w% ]) |. o" D" V8 y6 k) [- QXSPA(SSPA)是什么?# n% s$ @3 j. I" X6 Q, P
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
( w8 p0 @+ n- g, T: ?PHP fsockopen() function:3 K8 z1 L/ b" X9 M0 C# m/ D) k+ Z# N
<?php; n* h8 w( o9 T. H  M" J
function GetFile($host,$port,$link)
  p3 i! K8 u. ~, {5 `  l9 B{
8 v8 X* V6 N3 ]6 [9 ]+ B$fp = fsockopen($host, intval($port), $errno, $errstr, 30);" u4 s7 L2 l1 p) R& r
if (!$fp) { - C$ k5 [: I7 h/ y
echo “$errstr (error number $errno) \n”;( b! T" ^$ v5 V0 n! w+ ~, b1 Z4 l
} else {
7 \- H7 g  _& M+ @+ }) w$out = “GET $link HTTP/1.1\r\n”;
) F4 _3 H) v+ i5 y  [$out .= “Host: $host\r\n”;$ \5 t. o6 O( _" K
$out .= “Connection: Close\r\n\r\n”;
& W1 h- K+ N5 i$out .= “\r\n”;$ @# O" O' n- u! \
fwrite($fp, $out);
3 b4 }4 F8 _3 R$ T, k# e$contents=”;
# y& V" i+ W# Z8 `9 C9 o" J. [  H3 Xwhile (!feof($fp)) {9 L4 x7 ]- i; m  p
$contents.= fgets($fp, 1024);9 K0 A- b/ `# t4 n1 X
}
- m2 k- u' ]( Afclose($fp);$ g* L/ ?) d* a5 T$ |6 z
return $contents;
1 `$ K/ x- o: c# N}
6 m' c8 F7 n- ?1 Z$ C- O0 U4 }  d}" s2 e+ o) T# J
?>
+ ?& k! R7 I' Z0 U( r4 {复制代码" V9 f+ s7 I# f- s: |) D, Z
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
  @0 p& }3 ~- r  PHP curl_exec() function:
4 G) q4 U% L, W; K$ Y9 V<?php4 P/ v* ^! @( X$ f: Y
if (isset($_POST['url']))
  }! t1 _5 r; i  n{
$ k) K0 u; P1 u# c6 k" y$link = $_POST['url'];% P0 C5 ]" F9 C6 v- w3 v8 v
$curlobj = curl_init();; \6 H' X' E: C3 {6 P+ F2 Q2 J" V2 ]
curl_setopt($curlobj, CURLOPT_POST, 0);3 O/ S0 k3 ]- D* ~8 w
curl_setopt($curlobj,CURLOPT_URL,$link);$ q( n3 i  e8 t* j$ w' L7 q
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
+ @  m; r1 s% U+ Z" F1 z5 t$result=curl_exec($curlobj);
, t0 c( t' Z: u" M+ F0 W$ \curl_close($curlobj);8 u2 q- Z9 }- x7 c2 L  z; M3 Q' k
9 b2 \+ L) f1 ]- F3 e3 b  P, c
$filename = ‘./curled/’.rand().’.txt’;! U: \1 z8 V3 H  e- |3 E; p' ~
file_put_contents($filename, $result);. i" ~0 x, y' o, B
echo $result;+ Y7 Y5 N$ H$ }: b
}1 U1 D# V0 C% e, |4 ^0 `. r+ Q. d
?>
7 y9 g! L- U7 r0 U复制代码; E& y$ I5 h; z" N0 u
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。7 M3 G# E5 m8 E1 F5 x2 [
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
9 o& X9 j+ P: `: O0 _1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,# R% y" a6 ?7 u% ^- U- N2 ?
2。开发弱势运行的程序在Intranet或本地Web服务器
3 @, ]+ O& g" K1 ]3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
8 y0 O9 b$ v9 t  ^0 \0 A4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
8 b; G. ?: O$ ?! R/ c5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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