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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
: r, s4 @& d! a. ]9 X2 G- \XSPA(SSPA)是什么?
: \& y3 {$ R9 @* @* U如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
* i* B" t- W/ M7 C* W* w$ gPHP fsockopen() function:
- v9 T6 R0 K; L' u4 X" R<?php) Q# I. e: ^  ?/ H" L. `
function GetFile($host,$port,$link)
6 W5 \: p3 u, A+ a7 G! h{
1 n1 n  K4 d3 q1 f& _$fp = fsockopen($host, intval($port), $errno, $errstr, 30);, I5 ]% j/ j% O1 @& S
if (!$fp) {
* e+ l3 X( g  Z7 t# ~) ~echo “$errstr (error number $errno) \n”;8 H$ n9 M. e2 Y
} else {
0 \4 ^- I, i( _$out = “GET $link HTTP/1.1\r\n”;
7 ^1 A$ r# M+ }! u$out .= “Host: $host\r\n”;
6 c* r8 D. f. ^& N$out .= “Connection: Close\r\n\r\n”;: u6 k7 y* Q6 U, ]
$out .= “\r\n”;. ]5 S/ I5 E  R& D, L
fwrite($fp, $out);
7 P1 {  M; ^$ r" X9 ~7 t1 L; A$contents=”;
8 u9 S6 q& s7 gwhile (!feof($fp)) {
/ z# |, W- t- R/ V. \4 |$contents.= fgets($fp, 1024);
  h# r, w' |- q7 D}
5 Z, k' s% J: }) C  Ffclose($fp);4 M' [& z9 q* D6 K' S
return $contents;; F5 q3 a- _+ {! b% G. [5 I
}
  Z  O4 d( t$ V& P) M3 S7 v}
+ A6 K+ j" E( @+ b! g$ n; C% ?0 n?>* @8 A0 K/ m, d* N, K3 l
复制代码
% F7 E+ S! u: u+ G5 w; Q( I此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
% m( G9 N) G) W' q4 K  PHP curl_exec() function:/ ?+ a6 ?! Q9 U: u8 Y7 F5 |3 }% V% V
<?php
5 W+ M9 ?3 @/ O, V% _0 U# w0 Yif (isset($_POST['url']))
- [4 j  g/ @) P7 P" H& r( o{' n$ C; d2 ~/ G: J. A! C
$link = $_POST['url'];* s1 g; W0 `) m' Z% D9 P
$curlobj = curl_init();
! ]$ H2 g/ w7 scurl_setopt($curlobj, CURLOPT_POST, 0);8 `& S; v; z) N& w  V' b- g  z
curl_setopt($curlobj,CURLOPT_URL,$link);  n8 h8 U; ~0 k) R; d( i! K
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);  b" I' m0 p+ J8 T
$result=curl_exec($curlobj);( w& k" Y. c9 q; Q' s
curl_close($curlobj);
1 i3 N! e) o: K + t0 Z1 y5 _3 W  L9 ^0 e2 e
$filename = ‘./curled/’.rand().’.txt’;
( V1 z) z7 q; X* [1 Qfile_put_contents($filename, $result);
. U( [/ L+ j" a' J! xecho $result;" @8 I6 F9 A! u# u5 T
}
+ C4 l0 t, l# e- V?>
! N8 k$ g' C4 \8 u2 _5 e2 q' l- v复制代码
; Z; e1 z3 P" s9 i- G这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。$ G6 I- K7 p3 m, b; O" n8 h2 ^
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:' y  B. h! ~2 c: J; _/ H2 f
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,, M& {' Z" G: O, {! v9 S
2。开发弱势运行的程序在Intranet或本地Web服务器
: i& z+ f9 ?8 Y. u7 Z( g3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)2 ]" p% W5 B( I. Q! [
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为1 R; n! O0 x  x0 d
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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