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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。* P. i+ t5 g% h
XSPA(SSPA)是什么?& ^) |: q. A3 y$ J
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
2 |$ f: m$ @, F7 APHP fsockopen() function:. V5 Q$ ^, K$ u
<?php
# Y: ^1 t) f! R: O/ N  y5 zfunction GetFile($host,$port,$link)  k: G7 g5 F! t
{1 ^  [& I4 Q. r- }3 c
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);7 f) s! d0 m+ i
if (!$fp) { 1 M) e/ i# C6 C+ |
echo “$errstr (error number $errno) \n”;! B; L" X5 `4 H; U4 Z3 G) p
} else {# U* g% |4 E, A. e
$out = “GET $link HTTP/1.1\r\n”;! V" X2 h% p0 H; W; m
$out .= “Host: $host\r\n”;7 s* V! U  y/ i3 ?: x; ~! S* h
$out .= “Connection: Close\r\n\r\n”;4 l1 O6 e! M$ Y7 O) n( y7 @
$out .= “\r\n”;& l* O$ h3 H0 R9 a/ s$ l* V& e
fwrite($fp, $out);
" p6 M3 o! o4 `# B$contents=”;
* ~' O5 u- F: m' S2 Twhile (!feof($fp)) {
) A( X1 W! k: X2 p. f& r$contents.= fgets($fp, 1024);
4 y4 ]+ `  V( U2 a* I7 k}
4 x* O& C3 z5 c: y% H7 lfclose($fp);
3 J4 e( K3 S3 b9 dreturn $contents;: S4 k0 E" M  Y0 \2 t: P' b: G
}
) f' Z; @& t( q$ [$ i  B}
" r* @- s3 F- R, P4 c) f6 V?>8 B4 Y5 I( n0 X0 U$ j
复制代码
( Q) i) _5 [$ u% ~( B( }6 S此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
. [8 X0 }3 u& c" a; K' g8 q  PHP curl_exec() function:
  f0 Y/ R  ^5 X% s8 [<?php
5 S6 I) D% L7 s+ sif (isset($_POST['url'])): e+ s- Y! L6 C2 D: z1 h! c
{
& ?% ]% T5 s, {- V  I! f$link = $_POST['url'];
/ ~) f' j( W; Q4 v; a2 W$curlobj = curl_init();- q' z$ f* U$ `% u, L
curl_setopt($curlobj, CURLOPT_POST, 0);
. f$ t4 E* F' v9 U5 f: Zcurl_setopt($curlobj,CURLOPT_URL,$link);
( L+ f$ \; B: S- L4 x# Jcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
+ u9 u; m  q* z( m4 ^' z$ `/ Q$result=curl_exec($curlobj);$ x) O+ m) p1 p$ I% `
curl_close($curlobj);
0 l( `( y7 x. g- }8 \- O9 e; o: a, F
0 a' k: ~# q2 c) M/ m; _3 D0 I1 z$filename = ‘./curled/’.rand().’.txt’;
* f, b/ w9 N+ M: bfile_put_contents($filename, $result);
8 b, u8 G  a( N( l3 A& E+ Pecho $result;
' E% `, [2 B6 K& ]1 C: }  N" Q) v}
. M' d  }# b6 s  {& n/ h* n, p9 u?>1 K# k5 {3 J1 ]8 _
复制代码
$ p2 x, A0 {! x- T% c这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
! ~7 Q1 o2 k$ S  b" V! p0 |. [在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
- ?2 n2 M, N+ i8 t1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
. a; |& g3 L/ h$ c6 A2。开发弱势运行的程序在Intranet或本地Web服务器
3 B0 U9 ?  Y2 C3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)( N  U  w* c! E' d5 o  o
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为! {7 s! @6 T4 S9 |' L
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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