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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
) D, N$ W8 N' D8 U! {5 |+ e+ HXSPA(SSPA)是什么?/ M" F$ \: y) m9 y! u' {) k
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
( J, {% o& Y) a2 VPHP fsockopen() function:
8 ^8 k* T. k' F6 J6 n, ?4 k; l( A<?php
( w! F" U1 }8 ^( q$ n& u- f" l3 lfunction GetFile($host,$port,$link)
8 E2 v8 o2 w8 _2 T) v5 D{7 [# ~' m% w& j7 U( [0 }
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);. U9 ^  C. a4 G5 y
if (!$fp) {
" C$ |4 ~8 U% q! I( j: H+ J" ?: _echo “$errstr (error number $errno) \n”;. y8 s2 j5 `/ k- C. J  h
} else {3 Y8 g" A7 _; g& x, y5 T
$out = “GET $link HTTP/1.1\r\n”;; W& }4 q; \/ u
$out .= “Host: $host\r\n”;* u- }4 y4 k9 ~: Z3 l0 T
$out .= “Connection: Close\r\n\r\n”;( V: a' Q9 P( h, ]
$out .= “\r\n”;
8 r6 Y" i* A6 ~# Ffwrite($fp, $out);( H/ H  X, g2 c9 ~4 G( _
$contents=”;
2 [# q6 l( ?% P8 Mwhile (!feof($fp)) {+ R' X6 N  g$ `6 y( p0 H5 C
$contents.= fgets($fp, 1024);
/ ^6 M3 o% [6 ?1 T  @. G/ m1 n: `% N}
% ~+ u  k  U# m# m) z* N8 ]fclose($fp);0 o# S9 K* n4 [
return $contents;
& ~3 _: C2 S7 J/ w* ]}& n. `4 @; b4 G, q
}! ^/ L6 g8 K- U  W# }5 M/ K
?>8 o+ F' i5 b) S7 S' h2 X. Y
复制代码' P& t! c6 a: x$ A+ T  w4 R3 c
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
# ^' c( ^* Q- j2 H  {( P  PHP curl_exec() function:
. |" D0 j& L: o! l6 \' d; ?$ B<?php6 d  s" F* z0 G& P$ Q5 v* V
if (isset($_POST['url']))0 ~( a( m9 S0 x% _  ?1 T1 I1 d
{' W; F. k9 |' H( L8 z1 |
$link = $_POST['url'];
4 ~" V% U. J. x7 @( e$curlobj = curl_init();& ]+ W2 I0 x1 k
curl_setopt($curlobj, CURLOPT_POST, 0);
  \3 L. Y8 E# u. q5 j9 j3 s2 qcurl_setopt($curlobj,CURLOPT_URL,$link);
) ^# _; ^: O0 k8 o0 xcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
. I7 h  J. \: s' u2 ^" Z5 \$result=curl_exec($curlobj);
) B/ }  A5 L* K/ {1 e" Fcurl_close($curlobj);
$ b' i, w# a( ?& j$ ~
0 a7 [: ?4 J7 m  q' J' S# ]$filename = ‘./curled/’.rand().’.txt’;9 V7 Q5 v# G0 X) d' _
file_put_contents($filename, $result);9 o3 X2 q5 v8 A7 G$ M
echo $result;# ?* X, u( m" B- L7 k; z
}' v) x0 j2 L& p, [* _
?>
* m: _) J* n7 @2 H4 g# C6 M2 e) y5 N: z复制代码9 q4 c& U, _) r1 Z: I5 H6 p2 Z) G7 q
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。9 y& h! P  F9 y+ P; K& r
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
6 ~' h' z2 a+ F0 H+ M1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,* _5 y: b2 z# K  |0 g* g
2。开发弱势运行的程序在Intranet或本地Web服务器
, p* O! c& @9 X. R9 y3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等); B/ ?/ b% W$ r% l0 ^. D# n
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为) E* O& O, C9 D# N5 r
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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