找回密码
 立即注册
查看: 3005|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
' `" U: [2 ^5 p4 NXSPA(SSPA)是什么?, a7 h1 ]7 c9 S
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
  a  \% k7 r& W, zPHP fsockopen() function:
! u/ ]# E$ u' {8 N" k  r<?php
$ C4 J; e, x- l: o2 r" b) [& yfunction GetFile($host,$port,$link)
0 ~" u( c/ ^* n6 m' m$ `{
% n. [% V9 ^. H: o% @3 b, I$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
4 k  ^% T! @* @. Nif (!$fp) {
: s$ B( P0 L2 i! Q  w4 Cecho “$errstr (error number $errno) \n”;
+ i2 Y' {9 {5 O! h6 D6 G5 M  b" V} else {0 ?5 `2 z% [1 W" @& K
$out = “GET $link HTTP/1.1\r\n”;
% \1 s; j5 j# T9 d$out .= “Host: $host\r\n”;
  h, ^0 M. t  @' Y) x. i3 h$out .= “Connection: Close\r\n\r\n”;  L3 f) s6 |9 f. O+ _% d% ~
$out .= “\r\n”;
& c& f/ h3 n4 Gfwrite($fp, $out);' L: Q4 p$ D$ x" y
$contents=”;/ q4 S4 y+ f9 p+ ?# X# @
while (!feof($fp)) {( e+ h) b* d) [) r1 h+ ]
$contents.= fgets($fp, 1024);6 O' j/ e6 I  S" M4 d2 N
}
. e  U4 p7 e6 H: Lfclose($fp);: G* {: j) T) H9 S
return $contents;7 f4 ^+ c* N1 v; J) x
}
' {: j4 m" ]7 |! F3 }}/ E7 x8 ?% K5 S/ B! ~
?>& c, f) ]; k3 ^6 e7 [2 w
复制代码) U5 d3 P# N" z
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
5 M3 ?" {# _3 u+ g+ v  PHP curl_exec() function:
2 u3 f- q& @  p* c& z1 G# B<?php1 M$ C) Q& h. z) r# c$ A
if (isset($_POST['url']))/ ]. ~2 _, M+ `# z, Q7 v
{4 c# c4 r+ ]# f. r
$link = $_POST['url'];4 u' n( m4 s; S* u7 T, _: h
$curlobj = curl_init();
# V% `- t1 u/ r5 F* jcurl_setopt($curlobj, CURLOPT_POST, 0);' o( S0 g  x) B$ h) B- l2 p1 B9 P
curl_setopt($curlobj,CURLOPT_URL,$link);# @1 f2 e8 z4 ]5 x; F
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);0 u8 j) r/ _4 p
$result=curl_exec($curlobj);
" _  _( {, t( w* s# zcurl_close($curlobj);
& {/ z; w8 c: s  a  K
9 f4 S1 {  o6 W9 P9 |$filename = ‘./curled/’.rand().’.txt’;
% d2 y0 J* c) p9 V7 [4 V3 _file_put_contents($filename, $result);
3 n4 z) L2 ]) S: v+ J; t1 O) z( `0 @echo $result;
* h) {! K; a% k' @/ z" u& Q3 Y}
3 K( H: ?) O  p3 k?>7 x) h$ _0 |0 \8 w
复制代码
  {- y  ^0 _+ K# x. w; h5 B0 Z这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。; o* w6 y2 |8 }; @3 f5 m  F
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:8 K* d8 n  \2 Y. p' |& r
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,% g+ b. ~* w5 B& D6 Q* g
2。开发弱势运行的程序在Intranet或本地Web服务器5 K7 }7 s" h5 y+ w- S0 ?1 j
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
9 r: x" i1 N1 L% g! b- r5 |4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为* U# h- y" v! U6 M( Q7 V  r
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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