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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
2 l0 `( `3 Z3 nXSPA(SSPA)是什么?" K" ]8 _( t. }7 G* A+ E3 g2 N( L
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
# Y  ]( N3 w1 G2 }) G" V5 n# VPHP fsockopen() function:% Y  T4 H, q1 y( q
<?php' i3 c( ]2 K6 F$ X! \  G
function GetFile($host,$port,$link)3 A+ n) s( O8 M  w
{8 z* q" b$ V& y3 F3 `, V
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
* T) c. k& ]# {+ j; ^) l7 lif (!$fp) { 0 U8 m" K, T# ?* b, ^* g! \
echo “$errstr (error number $errno) \n”;
# Y) y6 X, n" w: Q: B3 V} else {
9 d9 B8 {6 B. y& J$out = “GET $link HTTP/1.1\r\n”;
/ `4 s7 @) t- @7 |$ m' C$out .= “Host: $host\r\n”;- h9 F& k$ W- @% e3 _/ L
$out .= “Connection: Close\r\n\r\n”;
, s9 M# \, R/ N: t$out .= “\r\n”;
# |, L8 r" i( S: g! G/ }- s6 f# Q5 pfwrite($fp, $out);
3 Z; G# y" }- f) K7 V1 X$contents=”;
/ \6 J" v& S- e7 a, G5 d2 J6 Pwhile (!feof($fp)) {
7 ?& E9 i6 c' a6 l$contents.= fgets($fp, 1024);( i  L# @  i. Q8 ~/ L' ?
}
6 R) S5 {& [  C: m! w' @. f! M% Jfclose($fp);' R& U2 M. S8 s! G* [% \
return $contents;+ h+ r' Y* v+ X2 w
}: b1 e( N& m- q# \
}0 V, }1 a5 w0 \7 t& i
?>1 u% @  W9 @) ~; |4 S
复制代码' m* k- [( L% d5 R3 B
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
. R$ I8 r$ w9 q4 b$ z, n  PHP curl_exec() function:6 d  d7 w- L$ Q! H% V
<?php
6 @: t  }# S& w; J3 F  y) Gif (isset($_POST['url']))) i9 e$ m) Z* F3 G; b0 x
{
1 N( s4 ^9 k9 v& n' m" W) i. \" f: z$link = $_POST['url'];
- _3 g2 L" q' q) A/ H/ x$ P7 t5 g$curlobj = curl_init();
# ], p( w- v  U2 G; ^2 n; Bcurl_setopt($curlobj, CURLOPT_POST, 0);: ?0 o. b1 b6 i5 H) q. p/ ]$ e, C6 z9 E
curl_setopt($curlobj,CURLOPT_URL,$link);
8 @: `" v( a7 ?( Zcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
- q( }4 F# D1 {* I9 W$result=curl_exec($curlobj);
  R& G& h3 R$ O6 u+ i( T4 Mcurl_close($curlobj);
4 _% v" e/ t# h9 D6 o
! N3 y5 L1 j/ V5 h& F2 K+ `$filename = ‘./curled/’.rand().’.txt’;
  l0 i+ [+ Q8 C) w! Afile_put_contents($filename, $result);; w0 a/ y! G) C5 O2 Z. i# t
echo $result;
! t+ F3 o3 H% \8 O! X}% P2 _9 ]' ]6 J. l1 H( \# E9 l2 o
?>8 k' d( E4 g" f4 v- o+ _
复制代码
# W& I' c; ]* p/ _0 E$ M# L这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。: |4 F; d* C* K! v+ f5 c: [) e
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
7 x$ h9 T6 x; n  C/ |+ j4 \1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,% B$ {' }' u" r
2。开发弱势运行的程序在Intranet或本地Web服务器) M; U" ?& C, V
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)7 C, w, |( \3 t1 w3 j
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
. A, O! T$ t( R5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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