找回密码
 立即注册
查看: 2462|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。' W' Z6 `2 X2 ?1 T/ k
XSPA(SSPA)是什么?
# y! }& N, f0 A4 L+ [7 _  H如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。: c+ s+ D; @! E9 @" |. ^  l
PHP fsockopen() function:3 g8 s; G2 k3 _9 L& E
<?php5 j/ I! H0 e9 B4 ?! V9 ^1 n
function GetFile($host,$port,$link)
; |0 W& d) a, K1 z5 L6 t9 F) Z{7 s! x7 j' u6 P) M3 ?
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);- i9 `# s" Z% l/ t9 u0 x
if (!$fp) {
, d& I/ V6 B* X" C' T% V0 Iecho “$errstr (error number $errno) \n”;/ P9 N: G! l7 W. x: q
} else {
2 W: ~( i) r* ^1 \. O$out = “GET $link HTTP/1.1\r\n”;
" o! ^$ U& S) L, @) G9 B$out .= “Host: $host\r\n”;
! u" `8 G( X+ T9 \4 U3 p# T: q$out .= “Connection: Close\r\n\r\n”;
+ B* V4 u) o5 X$ R$ S& G$ e+ S* F$out .= “\r\n”;
7 ]  l6 }# M* n4 Q: [9 bfwrite($fp, $out);
, V* U; ]* `6 t$contents=”;
" ~, q7 v1 P0 ^2 D$ U4 g9 Nwhile (!feof($fp)) {( g$ `$ {& ]" h2 X9 v8 E
$contents.= fgets($fp, 1024);4 j' g3 s: t: D/ }4 K
}
. g% L* s# ^9 B. j3 r. Qfclose($fp);' }( o; c' K8 d% D6 o* h3 B
return $contents;; Q3 v; r6 p0 s6 }) i6 B
}8 g+ L- g4 b" R. `0 B; h2 ?
}9 _6 M6 S7 _) O" J0 X
?>- Y: }# ^8 [' B" K, Q( y  q
复制代码
9 d+ e5 ?5 X7 Y# u此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。; w3 K3 L, o% H. ^6 [
  PHP curl_exec() function:
& X5 x0 L. r; j" z; \! Q- ?<?php# s$ f! u2 `- A
if (isset($_POST['url']))0 {9 u$ F" k1 O9 q9 B/ Z+ S9 U$ _
{/ u! v' P1 l9 U! R
$link = $_POST['url'];% C4 R- T5 C& N  J/ D; ^
$curlobj = curl_init();$ D& c  M* k/ m. `+ {! `
curl_setopt($curlobj, CURLOPT_POST, 0);
( k1 j& e9 F% R# w( ^, n9 jcurl_setopt($curlobj,CURLOPT_URL,$link);
( q" y' n" D, `curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
- }$ c8 E5 l8 k  n& I8 d; ?$result=curl_exec($curlobj);
8 L+ J$ _* C5 Scurl_close($curlobj);' I, a5 g! V! s5 R1 J: R

4 k8 H4 D8 F# v9 U" R5 ]$filename = ‘./curled/’.rand().’.txt’;
( ?# F" \, y1 H$ V3 jfile_put_contents($filename, $result);
3 i; d7 h: h$ ?% ]1 Y( ?echo $result;
+ l( E! R7 X. r" A& n3 W9 {3 ^}$ g" n) M- \( T! f
?>
" c' B/ O& M; F2 T6 ~+ B复制代码: Y* ^2 w) Z+ A  K( R( g
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
3 m* l8 i: U1 K7 U" u, z) u在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:  o0 c: A5 t# V3 B. j* K( }
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,4 S; n3 ~2 a! y
2。开发弱势运行的程序在Intranet或本地Web服务器
! ]$ z8 W" Z% F: H( R3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
! D, A# T9 b+ y8 P3 ~4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为: A& j% t2 K" o& o7 v' l5 _
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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