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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
9 }) B9 M" @' |) E8 e! B  x0 ZXSPA(SSPA)是什么?
) O1 `( [/ w! c$ g4 g2 s; \如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
5 n! F" _. E, ~2 R3 YPHP fsockopen() function:
$ D* W+ s: V' i9 `<?php
7 }4 ]3 `; W. g# Ffunction GetFile($host,$port,$link)
$ C' J# U3 s; b5 ?& ?: b: L- }{4 }2 c, A) E# v) y% ^3 r# O
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);% b& w1 P6 u3 [" Y& a
if (!$fp) {
4 x0 H6 @( \5 K0 V7 g6 v2 vecho “$errstr (error number $errno) \n”;
( I$ }0 ]8 C. f4 I} else {
2 W5 x% q! r" `$ ]* X$out = “GET $link HTTP/1.1\r\n”;+ m: f  [- A" [( r# P8 @
$out .= “Host: $host\r\n”;
2 D) _; ~6 |. z; J; {7 C9 v' V/ _4 f$out .= “Connection: Close\r\n\r\n”;7 w  R' M( \: r0 b0 ?. U, b3 L  S; T
$out .= “\r\n”;
& K& R* y, A+ p  c/ e, Bfwrite($fp, $out);
( K% T. J5 d$ t# M  w. a$contents=”;
$ D6 j. Y' Y. d2 }; xwhile (!feof($fp)) {
2 {- N8 M+ d+ }+ }3 E$contents.= fgets($fp, 1024);
9 K" z# S" I  @# ]6 \}
% ?* d7 A# L$ ?/ L- \, a; Efclose($fp);: [+ n# [: w! Z6 |
return $contents;
8 Q' I+ c3 {0 |4 w" O* k$ k}
( X' B9 n5 m2 h% |5 Q( Q& o' D( g) w}( R" K$ q( ?/ `3 v
?>
: ^1 E( e* }9 c; d9 z8 K! I/ a+ u复制代码
/ R7 P  z# A4 H7 q, J6 F+ e此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
2 g' W- B, }8 M  @5 b  PHP curl_exec() function:+ i; E! a0 a0 i
<?php' X, {$ T) M5 U% P
if (isset($_POST['url']))" S1 R0 j7 h+ \: u! Q9 |, ^
{4 ^" F" {% H! W! j) b3 f
$link = $_POST['url'];
# P2 M; G" f; K: G. D$curlobj = curl_init();
# {( T2 h+ t/ o# l% D! ucurl_setopt($curlobj, CURLOPT_POST, 0);5 P- G3 [0 W+ z7 H2 @
curl_setopt($curlobj,CURLOPT_URL,$link);8 ~+ [7 B! G. `' q8 S) f
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
* `) w5 [; |& |  A' [0 \$result=curl_exec($curlobj);
; S" ]% Z7 L4 ~$ K0 s' q  E. scurl_close($curlobj);7 J5 |9 O) b0 ^  x
9 t8 x- u- O' p
$filename = ‘./curled/’.rand().’.txt’;3 K9 I! b; p5 ]4 r
file_put_contents($filename, $result);" ?2 @0 M% i2 x% R/ {
echo $result;9 q9 k. e, T% J
}
& t9 `5 V$ t7 D, B+ f7 R7 o7 ]?>$ F, I7 z$ s& }# H
复制代码
3 X# W3 ]& U0 P7 Z) L( }这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
  g: x6 u( n  u5 q: \" h在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
8 {% D, p, y. m9 ~1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,  w+ X/ i4 ^  A- @1 `
2。开发弱势运行的程序在Intranet或本地Web服务器( W- g3 d% n# n' S
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
" e8 V+ @! T5 A5 s/ A4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
3 P4 u: A9 v% Z3 h5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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