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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。6 I  O- i+ i  h. B7 w6 ]% @
XSPA(SSPA)是什么?$ i( N) V& J: z% f4 Y
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
$ x/ i# U/ V% ~' i  n+ e& ?/ v' LPHP fsockopen() function:" L. ~( k6 l* n2 W4 Y
<?php
. |8 k, J) @0 K/ W1 Ffunction GetFile($host,$port,$link)
" m0 @* |9 d6 P" l- e{' D5 ~5 a9 \( x8 J! A
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
( n/ @. a6 l+ K2 @if (!$fp) { 5 f- |- [% ]5 V
echo “$errstr (error number $errno) \n”;
) r: O/ x1 O" D* P0 Z} else {
! C& i; z& n% k6 y$out = “GET $link HTTP/1.1\r\n”;- G: W2 o. Q% y( }2 I+ H0 h* H
$out .= “Host: $host\r\n”;
0 b# _6 ~( I1 I7 g! P6 L7 j, x- ?$out .= “Connection: Close\r\n\r\n”;
; t! {) g7 v5 ~9 o" b: a3 B* q0 ?$out .= “\r\n”;
6 _, g  k3 J; Qfwrite($fp, $out);$ ^' C- ^3 U6 r. A* A  ?8 L1 B8 X
$contents=”;
, ]1 L5 B3 B1 s1 U4 Pwhile (!feof($fp)) {
0 p. {1 H; D- o3 h3 g0 B7 _$contents.= fgets($fp, 1024);
* ?/ b* N& @( D# o. a$ v}$ j' l$ w% i7 ?0 ^; P, A. O
fclose($fp);
7 w. W% B0 d2 ~; a* G! [' [' vreturn $contents;% P# t4 m' c, J! Y  A/ L  [
}/ y# @7 ^7 W' G/ x4 E4 I
}
$ w+ ]. [' O2 |/ U& `9 R. ^?>
* z4 n/ @+ z) I! b' a8 V+ P0 x" v复制代码
" H% R  N: ~- p4 {) @! X此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。$ \  b% X' A" E( W# E; @
  PHP curl_exec() function:# h/ L* l/ B5 D+ J
<?php
9 W( b. e, A9 a4 l6 S* cif (isset($_POST['url']))
9 Y% I* p  t1 c" n: ~5 ~{: W0 {3 G+ w* j  |6 K3 p) V
$link = $_POST['url'];
/ z. O. ]& t4 {% l/ c' x  d$curlobj = curl_init();; R; p* {/ X" h; {
curl_setopt($curlobj, CURLOPT_POST, 0);
1 \8 C& z& J9 Z) h# n7 Bcurl_setopt($curlobj,CURLOPT_URL,$link);
  G& p( T8 b0 ~; V* Q5 d) L; i% scurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
/ E' n$ j# u' Z9 R- s$result=curl_exec($curlobj);% ?+ y5 \0 `# |8 J, a+ ?
curl_close($curlobj);
. u& v- O' k# ]
. q( x' f0 O( K$ q& H) |0 T$filename = ‘./curled/’.rand().’.txt’;  b: k$ r& [4 a2 l7 t1 R
file_put_contents($filename, $result);
) a0 B1 Z' @2 }+ ~echo $result;
, C; p9 G" g( }" x& E3 y}3 g6 {, F+ D: ^: z
?>
; ]9 i) b5 r* \. Q+ J9 t  b) ^复制代码
; J+ m* W% _- u/ P这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
, q" J5 `( r! d/ J  g在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
% W( b$ L! |, E  b4 K" }* ?, W1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,) p0 J+ v, }% A' Q
2。开发弱势运行的程序在Intranet或本地Web服务器" J7 h3 k: C7 k, }3 ]! R- }
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)8 B- B$ A' f0 M  l, {$ e
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为% l! B* n5 @- Z3 ?8 A( y. K. r' O
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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