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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。% k. G& \7 }( G" }, L
XSPA(SSPA)是什么?
3 ^. Y  |4 H; `4 n; a& v, `如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。# O- }) Y# d& d& j  e, d  ?/ N: d8 B
PHP fsockopen() function:
% w0 u" J' x* I! N1 h7 l<?php
; w6 Z! ~. H. k! R& v9 P& ufunction GetFile($host,$port,$link)
: o5 R9 o0 L' \{
6 N0 i: O2 v7 [* T  A+ d$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
/ G; Z0 k, B; {* Rif (!$fp) { ! T# }0 M9 p4 M2 l/ a6 x
echo “$errstr (error number $errno) \n”;9 h& m6 `% f1 F  x; Q( _
} else {" x, Z0 P6 m  t% z  X
$out = “GET $link HTTP/1.1\r\n”;2 N7 z4 ^' o+ U7 N. i4 J+ p& {
$out .= “Host: $host\r\n”;: K- @6 m4 r" V: P  \9 O* d. R
$out .= “Connection: Close\r\n\r\n”;4 I: t( {# \$ E1 s0 R; W
$out .= “\r\n”;: B) K! L# p6 q! o7 U2 h7 V, ?0 N
fwrite($fp, $out);! z; b% B" H0 g- M
$contents=”;
" n& N6 v4 g( \while (!feof($fp)) {
/ ]7 f, j2 S9 c# {* g* q8 t+ J" [$contents.= fgets($fp, 1024);
& i: q' w) d  R2 [. \" x$ A8 b}
$ y% A: D) G; U& M& \# Q! Xfclose($fp);3 R9 j; p  P6 n6 t; c8 j+ ]
return $contents;
. d+ p$ @7 a& g}4 c5 r9 R; ?+ }, [& [9 D
}
9 I2 K8 b0 f4 u% O0 }! O?>5 c7 e8 {$ [9 x' w. o
复制代码
% w, l$ r" J! ~" Y此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。- {) R6 F: B# d8 }
  PHP curl_exec() function:4 ~- L+ U0 V3 f9 p8 b7 z6 q
<?php
; Q- ~( D. U6 }6 }8 yif (isset($_POST['url']))# J- N( O8 t0 ]2 s$ ~! q; k
{
$ _/ W. m) @1 i! k4 K" R: {, Y$link = $_POST['url'];
' l9 O- ?) k& i% z$curlobj = curl_init();
3 n$ E* f# J+ P5 U* ^5 w5 @curl_setopt($curlobj, CURLOPT_POST, 0);# W. n7 e. g7 q9 q4 S! ~
curl_setopt($curlobj,CURLOPT_URL,$link);
' B( S0 d, Y; K2 Kcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
6 \3 _* |7 j3 Z; C$result=curl_exec($curlobj);7 J* Z% p8 B0 U0 K, T7 w9 [. f0 V& v
curl_close($curlobj);! l1 x" [/ O$ v6 g8 Y
$ ~4 Z* s) F& y
$filename = ‘./curled/’.rand().’.txt’;9 t& @9 q! l# A6 p
file_put_contents($filename, $result);
; R' d6 _& I  ]0 M$ U* ~& Decho $result;' j4 V2 J. f, t4 V- W
}6 R, a$ k. z2 h, k
?>% G  ^, X. e" U
复制代码
/ i# ?7 G$ |; M这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。' z9 q/ [$ }% p5 c- @" C- U
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
& D6 ?0 A3 r% d1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,2 T6 ^- V& ?# J5 C$ e+ Y
2。开发弱势运行的程序在Intranet或本地Web服务器
  M8 s: o" A- G/ E. \3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)$ @3 ]  v# H1 i6 g! z
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为; m; Q0 ^7 {  Z/ ?
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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