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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。9 k" w) ^8 F: e/ @# E
XSPA(SSPA)是什么?
9 g0 J: E% k" w3 d# u" A如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。2 W; u/ J& O( {0 d0 p3 q  d
PHP fsockopen() function:
" Q1 R1 O- b" i+ y<?php  `' v+ I& L5 H$ W' x, X. f
function GetFile($host,$port,$link)
' M1 u# Y! C, ^, r  t{8 {+ J$ F. p. A9 Y5 O
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);2 Y6 j3 z: A6 c: r$ @' u8 b
if (!$fp) { 3 j' `6 F5 t5 W+ Y: e
echo “$errstr (error number $errno) \n”;/ A  u+ r: X  Z! r
} else {
3 G1 u, X9 ?$ H$out = “GET $link HTTP/1.1\r\n”;
) {7 j; n+ O3 Q3 k, Z& i6 @+ z$out .= “Host: $host\r\n”;
, b1 ~! B2 y0 o) m$ g$out .= “Connection: Close\r\n\r\n”;( a; B8 Y* b( m2 t2 k' h
$out .= “\r\n”;3 y4 O) i4 c* g7 f( h$ G8 L. @
fwrite($fp, $out);
( X% V$ g8 R( _" s9 v  I$contents=”;) D% Y% G8 \$ y) ~- f
while (!feof($fp)) {9 T9 i& e1 m" v1 T5 b3 ^
$contents.= fgets($fp, 1024);
! F5 M; A7 o* ~. N5 A}
2 ^1 q* Z! S2 r; P8 n1 n$ _' tfclose($fp);& _9 J& n) z# {6 N
return $contents;( p$ O% e8 Q! p: U
}6 |. I* V2 b9 I# H/ N
}; f) [! c/ f2 P+ `5 x
?>; m! O# s: H" L. @9 I% B4 |% O/ S4 g
复制代码6 H. d/ x% R3 n* T2 X5 O
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
0 f# y$ X$ }( j3 m% n  PHP curl_exec() function:, T7 V  |7 w0 F& a3 l, G; B
<?php& L" {0 B" E( G3 b0 @- O
if (isset($_POST['url']))
1 w; ^, b# p5 I3 Z) {  `{
4 n# p# v, U* N' U6 R$link = $_POST['url'];9 y0 u0 M% h% Q
$curlobj = curl_init();
1 ~. p+ R2 t# _' O9 B: R: k- Ycurl_setopt($curlobj, CURLOPT_POST, 0);8 |5 J6 A: O( s
curl_setopt($curlobj,CURLOPT_URL,$link);) |- t3 C: Z7 x+ H4 ~+ I
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
% [, D7 x: E, Q$result=curl_exec($curlobj);
6 |* j$ i" x9 ecurl_close($curlobj);  X& p: \  O+ Q8 |* U
* E& H' h1 i# N7 c8 ~: Y( C. s. Z
$filename = ‘./curled/’.rand().’.txt’;5 R4 }& k8 f1 O4 U
file_put_contents($filename, $result);) T5 T& K8 R. [! n" e
echo $result;$ h/ B  e) P' i+ A! T
}. E3 I+ j5 L5 q
?>
0 R1 t9 k0 d1 K& ?8 }/ @( g复制代码  ]- N% T9 h0 R) i
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。% e* V, b8 \) z! P) C8 G; }5 A# M0 n* J/ ^
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:: C: _" h% I# ^3 [/ g
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,4 |. b4 H2 h: ^" m& }
2。开发弱势运行的程序在Intranet或本地Web服务器7 G. p% y4 ]$ N5 p
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
( `5 Y3 b1 F$ U  v4 L: C4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
( j" k6 p# Y9 _; o# Q0 U' I5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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