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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。* x) Z" \4 r8 H+ k) n2 u, Y1 O
XSPA(SSPA)是什么?
: L* U) x$ v& V& U/ U1 [% w如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。/ X) s. p! K! t6 D& i  H  q, l
PHP fsockopen() function:" Q# r2 ^  L" m6 r3 u& q
<?php- q" N4 I5 H2 B5 z! a% ]% k
function GetFile($host,$port,$link)
% D$ z/ ]3 k% n{
8 ^, [( Y, k* D" h$fp = fsockopen($host, intval($port), $errno, $errstr, 30);! J; f2 e/ a6 g9 h
if (!$fp) {
; v4 m8 a5 H, q1 H1 J7 j8 Iecho “$errstr (error number $errno) \n”;
, `( Q& X/ l- e9 u' \1 Y( m$ J} else {; i  t8 B- p5 ~# c
$out = “GET $link HTTP/1.1\r\n”;4 }/ u  P: Z8 z
$out .= “Host: $host\r\n”;
, d4 ]  \1 G9 u; v: s) T' Z6 ~$out .= “Connection: Close\r\n\r\n”;% y- o: S* ]8 D/ D- L/ Y
$out .= “\r\n”;
! v+ _- i0 V  w) q$ _* {& dfwrite($fp, $out);1 e, y8 g( i& c" A, b9 M
$contents=”;( i9 c/ m; Z; }; D; F; V% `
while (!feof($fp)) {* ~/ L, i) {+ w  f9 E, N
$contents.= fgets($fp, 1024);1 N! ~6 e1 i+ ?5 ]! a+ |$ L
}
7 g# i$ P/ O: Z! o1 lfclose($fp);
* l! U- R& U0 s1 c" D" qreturn $contents;
2 \0 o8 t: Z! N}
, p$ ]1 B, A, a}7 q" o7 T& \& r2 X! w
?>
+ P( O- k- R" g) ], _5 F0 b/ L复制代码+ c6 o- d. f( K
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
% r+ \5 S4 |1 h% G  _: O. e  PHP curl_exec() function:
6 F( \+ X1 F, q  Z( a" u, p2 f( L<?php1 O0 i4 u) x" N: H6 x& H
if (isset($_POST['url'])). s4 t3 s  `9 M$ G% r
{
$ Z9 e! a4 K; X) ^% z# F$link = $_POST['url'];
0 B& Z7 v0 n  t6 D# S$curlobj = curl_init();
# e( J& P" _! [: K# V% \curl_setopt($curlobj, CURLOPT_POST, 0);
, {& w5 ~/ K* x5 h3 Ycurl_setopt($curlobj,CURLOPT_URL,$link);: q+ r0 N3 I2 s: ~" \
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);- v. s2 K, |- k, G
$result=curl_exec($curlobj);
0 t' o5 b4 F3 K# K7 `2 Kcurl_close($curlobj);" g+ t3 v! e, N

! g" Y( A( S. Y# N$filename = ‘./curled/’.rand().’.txt’;
. F) N  ^* H+ s0 Q" h& o9 Xfile_put_contents($filename, $result);; P0 C* _- d) b7 w
echo $result;
7 C# G3 S2 D, ~% R}
$ a! ?+ F3 o4 o  W# ^; d- [?>0 G% R- L4 l  ^; ~3 W
复制代码
3 n2 ~9 I( I. i* [1 d* L' |/ D0 `这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
- h& u; E3 _4 D: U6 u2 @# ~; T在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
% j+ v6 ~% v/ T( ^6 @- Y1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
( ]- Y$ A! }" y$ i3 I0 o5 C9 |$ b2。开发弱势运行的程序在Intranet或本地Web服务器3 _" G, Y) e" W0 R5 U
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
0 X2 ]1 h( n  t. V- x4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为( ~4 N' `& ^( d4 F: z6 E3 _' }
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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