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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。) D) j$ K8 E- o" t
XSPA(SSPA)是什么?9 @; E- v; i) c7 N! U
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。2 i1 x! z/ R" ^! U* d. w  z
PHP fsockopen() function:
2 @  _5 n, u( d  m, p  s<?php
; c6 Z" n) L: r3 _function GetFile($host,$port,$link), M- S% [" S  V  ?
{9 P: R2 x4 ^" C7 v8 v6 h9 _
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
; o& l5 j( C2 j' a! L2 oif (!$fp) { ' D% x7 q3 ]) B7 q+ V# |& t$ Q) [
echo “$errstr (error number $errno) \n”;/ t- h/ m/ ~- Z' N
} else {. G* a  d1 Y; B$ Y5 `6 V
$out = “GET $link HTTP/1.1\r\n”;
' z- k  j) Y, k/ @$out .= “Host: $host\r\n”;
7 j1 b; R4 K2 a* P4 @7 Z) y$out .= “Connection: Close\r\n\r\n”;
8 x/ s+ @" k" Y$out .= “\r\n”;0 `, X! }1 x  p
fwrite($fp, $out);
, M" M  \1 ^- J6 z$contents=”;4 Q9 H3 b6 F, @. n. k
while (!feof($fp)) {
+ i3 w* q3 }# K' H! d8 a7 s$contents.= fgets($fp, 1024);5 p. {" Q1 C. k: k
}+ t/ V# h* _" b5 Y7 t- R$ W
fclose($fp);" e6 _# }7 U/ ^# q
return $contents;
: H4 u! f! b" K1 b9 J& I}
0 u. f. [% F5 K% p}
; k1 c7 h& v6 l6 m) u7 w% l, J?>: ^9 Z  n; a( J% A+ Y
复制代码+ Q+ m2 x: S3 r
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
5 ~2 U# T2 a$ [# z  PHP curl_exec() function:" ^. Q! j+ j) H" h# _
<?php
8 n0 p9 e; i0 r  }! hif (isset($_POST['url']))
, [: X" Z2 i! ?7 |+ z7 ?- S# C{
% B2 S. `; i: a0 ]. O' p$link = $_POST['url'];$ s0 u4 `- D1 U% e& A
$curlobj = curl_init();: v: g3 I) d5 _0 A7 @* v
curl_setopt($curlobj, CURLOPT_POST, 0);# V  Z* V* m; l( `
curl_setopt($curlobj,CURLOPT_URL,$link);5 e) g- Z/ s" s$ E" l* Y
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);2 I2 O9 o6 m  b4 q
$result=curl_exec($curlobj);
8 c1 z9 `7 t6 g! D/ z, \curl_close($curlobj);1 `$ T: `4 c& P3 k0 [+ a7 z
4 e% k& l  a. J3 F# O) d% d! Q. d
$filename = ‘./curled/’.rand().’.txt’;9 Z; x( G6 ^2 c
file_put_contents($filename, $result);  ~4 s! d, c# }  ~# M
echo $result;# I! m5 f# \# F0 `
}( a; e" }6 o& \8 N, Z
?>
/ o$ @! N! l" x( P+ W" X- m复制代码
2 k6 H( Z6 G7 A* F1 D- [这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
5 ?; y* `3 U1 U, _# _, I在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:0 @: t- w, f- D4 r8 Y% ~- n
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,9 ?$ C& @3 C3 o# Z3 b0 |- U. m- `
2。开发弱势运行的程序在Intranet或本地Web服务器
  w( ]  a8 d7 F3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)# m8 j4 p3 C4 e% a* z
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
2 }. L6 E9 G  N6 A5 }& k' e5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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