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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
6 s; Y6 X6 C0 A2 H1 [! tXSPA(SSPA)是什么?4 E5 \0 x. M+ p- R) y/ ]6 ?' j! }
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。0 D) i5 g/ P' ?3 E' ]: y
PHP fsockopen() function:$ ~4 a% W! X" o% {. S$ F2 N
<?php) A( u1 ]$ v2 C. N
function GetFile($host,$port,$link)0 W! C9 e; V, F- v& y
{% {$ [" V, u  P1 Z; E, a
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);/ `6 j: S0 l) I1 q- U
if (!$fp) {
3 ^& K$ D2 T# f4 yecho “$errstr (error number $errno) \n”;% @# S' p2 p1 M: a/ V! j+ K7 G- D
} else {
: K7 r: o2 {5 ?8 E8 w% A1 v. @; p: s7 Q$out = “GET $link HTTP/1.1\r\n”;( i( n& }6 N" R; p" ~, B- Y
$out .= “Host: $host\r\n”;: a" F' h( V! G4 C
$out .= “Connection: Close\r\n\r\n”;
9 z+ j2 d! v$ e0 C9 f$out .= “\r\n”;3 V6 c- [6 U6 N% ?1 t' w
fwrite($fp, $out);
, T0 h# E# F$ {+ W/ Q$contents=”;
, q, z$ i4 h) j3 \- awhile (!feof($fp)) {
5 N, [. ~! I" C- @" c7 a1 l' R$contents.= fgets($fp, 1024);
8 l. A4 Z" S# Y* H}
/ P2 I  H$ U( z3 L: K" ufclose($fp);
# H/ t# |% e! w9 c# Freturn $contents;
! Z6 s) T1 A4 S) S; z1 Y' `}
  u& `  o3 m7 c7 i+ t; {7 h) b& n7 M3 ]}
* [& q' L/ W2 S1 d5 O) s) h$ d?>
4 J0 h* k+ x* s3 M复制代码! J" r! |8 ?' P2 L+ I
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。! B$ r* l' W7 |% j6 Y" j
  PHP curl_exec() function:6 F9 `6 n7 ?5 X( ~" i. r
<?php9 a. C% U9 Y7 H; y9 K4 Z. a
if (isset($_POST['url']))
- W- Q  ^4 W; |' M{9 \5 ?8 R% ~' w" }5 b% f" S) e) n) I
$link = $_POST['url'];$ _2 s+ [9 ^7 W; W9 t, U6 h& u
$curlobj = curl_init();' a* T/ C1 Q. |; T
curl_setopt($curlobj, CURLOPT_POST, 0);
" C9 I4 G* r+ E; Z/ hcurl_setopt($curlobj,CURLOPT_URL,$link);
# G. t0 Z% f: n. ]# p. i4 D) Hcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
% w; ^5 {) c+ @$ L- _$result=curl_exec($curlobj);
, p3 O& D" D8 d! H6 J. W* gcurl_close($curlobj);
( o9 d- x8 W  J% f3 v+ p. C' { ' m( k& A2 L) @' ]1 t- X0 z5 M  D
$filename = ‘./curled/’.rand().’.txt’;
, U  G4 v* J7 jfile_put_contents($filename, $result);8 Z2 q* a1 U: h  a
echo $result;# o$ \% W* [9 p) W5 ^
}
' K  k' h5 p5 w6 f8 W?>) {& s2 S# [- }
复制代码
2 T+ V( ~9 q( g6 x  t6 H这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。" M$ ?. W7 }3 q2 o% R
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
3 P% K+ W/ M4 [0 W  k! @1 e) L1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
0 {" \" y7 e$ E! e( @3 g. C( W2。开发弱势运行的程序在Intranet或本地Web服务器
( [3 m# }3 M; o5 d, ~3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
8 x3 L( w+ x8 |) O' Z9 t4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
! @# W8 {! j9 p1 j$ z. W' @5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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