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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。6 `6 V6 S0 M7 k" ~
XSPA(SSPA)是什么?% b5 B, [1 j3 A& u- u6 R/ |! {
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
6 g7 f3 W: C  o$ J* P0 CPHP fsockopen() function:/ W( }. C! _. _8 Z
<?php
- `9 O  i3 W: q- X' Mfunction GetFile($host,$port,$link)
$ L, r' E/ \2 D) J: F1 R{$ H% q( I( P6 T0 Z7 f2 \4 f
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);+ A1 k4 t8 p3 G6 y
if (!$fp) { - p" Q$ c& Z# s9 ^  T
echo “$errstr (error number $errno) \n”;
2 ^/ J6 P' G% i/ x% s7 I9 T} else {
  W  c3 j  u  q" T  J$out = “GET $link HTTP/1.1\r\n”;- v, z2 e4 M- L, V( H* B+ X" \
$out .= “Host: $host\r\n”;; I8 t. J% o' c* R9 I+ J! O$ N1 K
$out .= “Connection: Close\r\n\r\n”;
- p# ^  U' ]: m7 P, s% N) @% M$out .= “\r\n”;
. p0 X0 E$ _9 W7 [  u" ^9 ?4 xfwrite($fp, $out);
$ q, x, O& Z$ R( i2 \# J$contents=”;
, d3 w; z/ b) T  [! w0 Vwhile (!feof($fp)) {
% C4 s: V. F2 C0 h$ `, ?$contents.= fgets($fp, 1024);$ I: f$ C, U9 l
}& x* \; S/ I5 C: W* ^9 ?( |
fclose($fp);* _  Q. I+ ]' W2 X' g9 t% u4 w- K) t# ?
return $contents;
1 }0 g5 M7 A) N- p# U}
7 I: R( i# {4 O& z( @# K* h}7 z9 [. ~, d; b7 m" v* d3 {
?>
0 g/ {& l: z" O. T3 }' o' [) V3 S' Y复制代码7 t% y. V  X- Z2 p- P& R: d0 ]1 Q. w
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。4 k7 c* C- Y9 D6 v7 r" y$ ~
  PHP curl_exec() function:
2 t1 \! X5 h5 Z7 p& L. v2 \9 W<?php$ g) C+ b7 p7 ~! t6 ~4 Y0 @
if (isset($_POST['url']))5 [' m8 B/ ^/ Z
{; H" G7 @4 s9 g/ F
$link = $_POST['url'];
# `. e& d  m9 ~) h9 Z$curlobj = curl_init();# a4 N; }0 J% E2 k. l2 d- `3 d
curl_setopt($curlobj, CURLOPT_POST, 0);( L. m, v7 F* B0 g: M1 Y
curl_setopt($curlobj,CURLOPT_URL,$link);5 {1 p" Z* t5 c5 `  e! r1 w5 r4 [
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
+ q7 K3 _( t8 c' D3 K$result=curl_exec($curlobj);$ N  c, g* V) l3 |$ \" l7 }
curl_close($curlobj);5 v! N: e# c! e8 `% l0 s! q

9 L1 g$ g7 b2 V" [8 \2 p1 q$filename = ‘./curled/’.rand().’.txt’;
% ]5 K( R4 r- \, N1 Lfile_put_contents($filename, $result);
7 g! ~# {7 Z: ?* p3 ^4 x6 Vecho $result;
& t  R1 X' P0 Z3 r1 x% i}$ Q3 }+ ?) Q9 z" W
?>+ y- I3 t: q& C' R; x% ^
复制代码7 ~5 t( e$ |$ H4 ~% l7 r1 \8 _$ x
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
7 ?) R& K2 [9 o" G0 X在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:+ q& z5 a: G' A. J' X
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,! h( O- B2 ]( G+ o( r* ^( f
2。开发弱势运行的程序在Intranet或本地Web服务器! ?9 X0 @2 p  o8 D; n$ b$ X* I- _
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等): W. y0 W2 x3 C. X
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为( b, ^8 H( B3 x- ]& v/ p1 l" P! I' I
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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