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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。- _; H" d/ ]9 ^; B
XSPA(SSPA)是什么?8 r, q6 s* d# k( g; v( y
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
- [; C* L: l1 r, N% b* g% VPHP fsockopen() function:% F" ~7 r: ]3 y$ y5 ~: b3 Y* ?. [
<?php3 k* a" A/ z9 g- ~
function GetFile($host,$port,$link)
, y. a# |9 s7 A) M: ^( j{& }# m1 m; f, r6 A; C6 m; m
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
( l: p/ ?7 f! z" ]" fif (!$fp) { ) y* U6 l! w! ^, j* B" a" S
echo “$errstr (error number $errno) \n”;) D" s0 y: F# @3 S$ s
} else {6 F; M  g4 r5 N( w
$out = “GET $link HTTP/1.1\r\n”;4 B* `  c3 M/ z# X; D
$out .= “Host: $host\r\n”;+ `- z$ L0 H) P: T7 y! o
$out .= “Connection: Close\r\n\r\n”;0 l; g  E" z; J. N; Q* A
$out .= “\r\n”;
* O, C# J- s# x' G' j% T' tfwrite($fp, $out);* J% F4 ]" `0 C& p8 }+ E1 |7 T
$contents=”;9 Q0 ?6 w8 E, S8 [# m
while (!feof($fp)) {$ n6 K+ _0 J. E9 m  S, D# A2 a; c6 v5 ?+ Z
$contents.= fgets($fp, 1024);
0 A+ I. i, z9 _& d2 n}3 x4 ^1 N. i+ S, P1 Z& I9 J
fclose($fp);3 o! F) }: l5 p
return $contents;0 E- j$ W# ~& {) O, ]
}
8 a6 f" p7 _1 G9 e/ [& g% Y6 A}. [1 G: P9 Z  S. W1 L$ l5 \
?>
1 w$ e4 M' b; y. h复制代码* e  O3 J- o9 a9 |4 b6 }! u4 s8 F
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。0 t$ t! f3 h0 n: P* b
  PHP curl_exec() function:( e' x( V7 T1 Z4 j
<?php) O8 _  y4 E3 j, Z8 H2 @
if (isset($_POST['url']))
; r# Y) n" X0 g* f{+ j0 t) O; p9 ~# K
$link = $_POST['url'];
+ C. h7 Q. e! B8 j$curlobj = curl_init();; P& A9 s  P, N. c$ @( j  E
curl_setopt($curlobj, CURLOPT_POST, 0);) w3 z. T3 n1 D% ]
curl_setopt($curlobj,CURLOPT_URL,$link);
3 B7 z: i- T- A( V3 g) \curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
+ ?) m! G9 X: N4 k' q3 U( z" e$result=curl_exec($curlobj);" A6 M) R! P( d% G; _2 J& H
curl_close($curlobj);* l: T/ }' M! P

+ y5 {9 w4 S" h0 o& `" H) F+ H$filename = ‘./curled/’.rand().’.txt’;
% ], Y: h/ {7 v# i/ d/ g, Ofile_put_contents($filename, $result);
+ R8 ?; i1 z2 K( @5 w% \& C0 p3 Lecho $result;7 J0 q4 R: B, {! \
}, s' a; _  O) B9 @: y* Y0 _
?>
, l8 h1 D, R6 V复制代码5 t: I) `: W* t8 W+ m; \
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。7 q  ^6 Q* W* l. D
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
. A. M5 C' k/ y5 E( y( k8 }4 m1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,+ l4 Y) R3 h3 f4 U. `  Y$ M
2。开发弱势运行的程序在Intranet或本地Web服务器" @: f: U; U# o) ~! B% |/ m, s9 ~
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)1 M4 A6 P7 r; K* g5 v3 \
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为/ g: P) c" E) Q7 H# h5 e
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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