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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
7 i. ?$ q- J& l7 Y0 Q  r0 G# U  lXSPA(SSPA)是什么?2 l% T5 j( ^; \2 f6 d# f2 S
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。! A- S( w3 t4 N
PHP fsockopen() function:
( X' `- g6 k5 b* I<?php* O, i* K; i! Z4 z: W0 Q
function GetFile($host,$port,$link)1 P$ Y  G+ M4 V" x" E$ b( P
{
$ B) C" r  v5 v! D- r2 S5 m$fp = fsockopen($host, intval($port), $errno, $errstr, 30);% P" j" Z4 t% q8 v+ M& Q9 w. \6 t2 [
if (!$fp) {   u& @, U9 \  h7 a- d
echo “$errstr (error number $errno) \n”;
+ L0 F; t3 Z9 C0 C} else {
4 p$ \4 d# H, G4 x, a$out = “GET $link HTTP/1.1\r\n”;
( v$ K5 j  a5 a0 v6 s2 j% }$out .= “Host: $host\r\n”;2 T" [' w! y, x6 M) ]; V
$out .= “Connection: Close\r\n\r\n”;' l% `+ B: ]' U1 u
$out .= “\r\n”;
7 b: m3 ^* V& [3 Z$ X$ N4 mfwrite($fp, $out);
) s, ~- \9 r9 G$contents=”;; q0 y3 P+ L4 J' e% h
while (!feof($fp)) {# i3 z7 o* e6 \& K
$contents.= fgets($fp, 1024);
; Z5 o5 s* P. H: l5 B) y6 i}
% L6 i- X+ u, }) [fclose($fp);) @% J. ~* m* A- Z
return $contents;: t& t9 m" }! E% s. I: R- W" y3 {
}! M/ i& A" o6 X! x6 Y
}0 q! K: j; l& O; P0 h
?>% G" S+ F+ H# P* b- ?8 z2 H
复制代码
# W. q7 R" N+ y+ K$ v此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
- W' w- i0 a9 D! s+ M0 `: ~3 m, }7 b; v  PHP curl_exec() function:# p0 I- ^3 ?; `' H- @+ u
<?php1 z% d. G+ q2 D+ D
if (isset($_POST['url']))
+ x5 [, F+ O/ @! ]. Z- D5 ^; `{) A7 j5 T! J- A3 Q
$link = $_POST['url'];
0 @- x) k$ ~5 U# i) e" V$curlobj = curl_init();9 W2 W; A+ Q: S% {- M9 ^
curl_setopt($curlobj, CURLOPT_POST, 0);
* r8 R, M2 g4 {( \3 P# E1 N5 N0 vcurl_setopt($curlobj,CURLOPT_URL,$link);
1 d; I0 v: B3 ~" U% C& fcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);! x1 h+ r1 w% B6 D+ {
$result=curl_exec($curlobj);
) O* s8 a, |: J: {' z" U# T0 `1 wcurl_close($curlobj);8 v8 L6 H/ U* ~) U- c( K8 o* x
# R$ t6 N. Q7 ?2 @& U+ F9 Q
$filename = ‘./curled/’.rand().’.txt’;
5 @; }" m  E: Afile_put_contents($filename, $result);3 t5 ]% |; T6 m/ i. j4 r
echo $result;
) x+ U9 Y3 S0 V8 o& l$ ]! ]6 {7 D}) J$ M" Q4 Y9 O. v$ ]/ m
?>
! K# P, d( W' ^* k1 }复制代码
( r2 b8 e$ ~4 Z! T  e+ y# d8 q这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。; s: d! t( |) `/ E) P. d* r
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:+ b& t. e+ l& z6 l4 J
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,. i# g- w: }# `2 l7 l
2。开发弱势运行的程序在Intranet或本地Web服务器: V) {4 ]6 t' D" k* D' l7 B: d
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)$ a) T$ T0 ~  ?
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
1 p% L( }; w) \8 D5 l5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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