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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。5 C4 z+ u4 g9 ~7 [$ f' r3 q
XSPA(SSPA)是什么?5 `3 A9 D) P/ |
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
# `4 ^- H! h! q$ |2 J! JPHP fsockopen() function:! O. M) [% N6 [0 o$ ?
<?php
2 m" D5 V( o) l! Q; v% e) ?function GetFile($host,$port,$link)( }9 F3 j5 i3 k$ F2 _7 o+ Y) D4 k
{
8 t# r( C& {. o" u3 D$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
2 `1 ^5 X. u# S8 Wif (!$fp) { 2 M" @  W2 J  }) B, G
echo “$errstr (error number $errno) \n”;
( U( T2 N% k$ D} else {9 t: y0 t1 \& F9 g
$out = “GET $link HTTP/1.1\r\n”;  d( f! Y8 P1 B, F  Q
$out .= “Host: $host\r\n”;% m( O) {/ e( w: l- c0 w( O
$out .= “Connection: Close\r\n\r\n”;3 @& [5 {" g) d, V1 P- `6 i- k
$out .= “\r\n”;6 B8 m5 j0 }8 f4 ]/ v
fwrite($fp, $out);1 Z' L1 J% M" `
$contents=”;% _1 D# ~9 Y4 k
while (!feof($fp)) {9 W& a8 x* u/ X. _
$contents.= fgets($fp, 1024);: @$ @: C9 g+ M
}: o8 O& g3 V0 `; x3 U/ [: i
fclose($fp);; ^2 T$ S9 v+ x3 F( |8 \! I; z
return $contents;7 j( y) c. K; `
}# R) \) K5 O& i: z5 p! W* H
}
, p$ u# r: W' v+ K* T  A7 P$ o# v$ _5 X?>
' z6 s: A1 ]6 k# t5 ~. Y% o复制代码
$ j8 }5 j3 C2 {8 C  C& k' [* C此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
" T2 C) s8 ~, e  PHP curl_exec() function:
" p& w$ O3 M9 [; y6 O/ p<?php
3 k3 l( P" P' J8 ?( e5 _" n. bif (isset($_POST['url']))
  Z4 U$ A' u2 p5 |; K! g6 Z0 l{
, }  ], K# A$ |: o  g( X, x2 Z" w9 L$link = $_POST['url'];
5 F( E4 W( ^8 i: B$curlobj = curl_init();
, B8 i' B& C( O6 x1 Acurl_setopt($curlobj, CURLOPT_POST, 0);
% C9 R5 P% M0 r, a- pcurl_setopt($curlobj,CURLOPT_URL,$link);/ k( R7 r4 u' ]# Z8 a6 M, S# \- m
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);: ]& ?5 [& @( s# ~4 R
$result=curl_exec($curlobj);4 N- l' v  ^  @
curl_close($curlobj);
+ i3 p# ~& |' S3 b, n3 N9 j
# ~  [- L2 C, {$filename = ‘./curled/’.rand().’.txt’;
5 z0 |3 c- {, h% _6 K: @file_put_contents($filename, $result);% {9 g( ~4 A) `/ ^( l5 {9 ~4 V' ^" h
echo $result;
; k) N7 E& a" J}
/ Z0 y. P+ l/ s2 m' a?>- e! K/ ]) s# v* A+ L  h6 g8 d
复制代码8 i2 c- m- ]( W5 s
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
3 |6 w" p+ s, d% _在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:* x0 D$ v. `0 z$ V1 |
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
- b/ }! {2 ~8 B% a1 B2。开发弱势运行的程序在Intranet或本地Web服务器9 K' {4 r9 e4 W
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
- k" F; X6 R( J" `0 i4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
' ~/ A  D- Q6 ?* p$ y9 j5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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