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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
* g7 I- ^5 j* J3 O3 g2 kXSPA(SSPA)是什么?9 @+ ^7 [# I* n" E$ t# H
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。7 H/ {& f0 y7 D
PHP fsockopen() function:1 I) ?/ g/ n# Z/ f* M/ _
<?php
8 H( h! U/ F! f! p# ofunction GetFile($host,$port,$link)
  k6 a  w) l  z% R: Y& s{
# s/ P( ]1 {# G6 v; S8 F# _$fp = fsockopen($host, intval($port), $errno, $errstr, 30);( i* O' m9 `2 j' w' |9 S# B
if (!$fp) { & g& p8 {5 U: A9 Y$ j, @
echo “$errstr (error number $errno) \n”;
& V' q1 ?9 C  W& K( l} else {7 x% _9 D3 }7 n& e! L, f1 T
$out = “GET $link HTTP/1.1\r\n”;! }/ d( e* d" \7 {
$out .= “Host: $host\r\n”;1 C3 r8 D% [3 S1 P% z- i7 a
$out .= “Connection: Close\r\n\r\n”;
3 X; K4 x9 [: X5 O. `: j$out .= “\r\n”;4 k& B$ ~9 m* P" y% `
fwrite($fp, $out);
# w% k' I( p( U$contents=”;% [. k+ H- k7 O) x
while (!feof($fp)) {5 q$ J6 `% _& E' ?; c) W
$contents.= fgets($fp, 1024);
* l: O: t+ s2 v6 ]}! u; _; ]4 Z0 x% V& l
fclose($fp);
. r6 l5 X3 g! ~- P7 B- u) D: ~& xreturn $contents;
1 `. L- q% {& {, v) Y5 S}
1 P4 q+ Q9 [" N( B7 P}
6 \! p9 z+ k4 w( R* e8 d?>  V# @1 ]) T+ A4 }4 |3 `4 l
复制代码
, @6 {$ m* Y6 q& r此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。. r  P7 o6 ]- ]* ]
  PHP curl_exec() function:+ Z) G( `$ R1 T( F5 `* z
<?php
! Q; f' [/ v0 [) z" [# U! ?if (isset($_POST['url']))- D0 ]$ B7 F4 ^1 i3 h& n
{& h& T3 |8 K6 d) A
$link = $_POST['url'];
" R5 g- C/ L, j( g2 G, G$curlobj = curl_init();& T$ T$ z; t/ g: n- b
curl_setopt($curlobj, CURLOPT_POST, 0);% L, }, D4 I2 Z" h/ e# @, m' T
curl_setopt($curlobj,CURLOPT_URL,$link);* g  ~1 K0 a, t/ l% k8 \
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);/ g- ~& [% i* N/ k' Y5 B
$result=curl_exec($curlobj);
  P( Z9 w5 P: f" Qcurl_close($curlobj);
% T, J. g* `3 Z! P4 [% g * }/ A+ r. F# L) A8 ~
$filename = ‘./curled/’.rand().’.txt’;# M( N6 U8 G4 e
file_put_contents($filename, $result);
4 F% l" U: [/ s. C4 p& {echo $result;2 y$ a& T! M8 U8 V; p% ~+ e3 i
}
0 Y" u+ X( I5 c2 r8 |?>0 K% W+ C2 F: r8 r* n- U4 ^. a
复制代码
, n6 g& U' ?* a9 X1 Z) @2 ?) ]这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
3 R% ~" y# A" ]1 P$ s9 d在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
: G: j5 G5 K; t+ ]8 i1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
. J8 V" o9 m. C7 c2 e+ a2。开发弱势运行的程序在Intranet或本地Web服务器
7 f1 \8 Y( X3 _3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
+ [) K! d# h' R; U( ?4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为7 k) D% c3 k* }+ O' _) b1 [
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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