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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。; K$ Q7 z; \+ t, b$ L
XSPA(SSPA)是什么?
. o& Q/ }5 O' [$ m8 _如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
. ~" B  L& K7 F! k0 sPHP fsockopen() function:
( B' I1 H. Q6 w2 y( v( V/ x- n<?php
1 `  A1 V  ]# f/ O* [; K- ]function GetFile($host,$port,$link)3 E; h7 ]( F/ Q
{
5 S' j% S' V* F  ^& J% A% l/ {% z  @; ^$fp = fsockopen($host, intval($port), $errno, $errstr, 30);. {; ]7 j0 z4 ~5 n: C
if (!$fp) {
4 Q) k- V) q/ V: recho “$errstr (error number $errno) \n”;# U$ a- e! [3 V1 {) O
} else {2 i' _1 i* B6 K" ]
$out = “GET $link HTTP/1.1\r\n”;
! V- R& H% c, j" c. u! |' A$out .= “Host: $host\r\n”;
0 Q, @9 n1 l/ z" [9 D9 P$out .= “Connection: Close\r\n\r\n”;4 {8 \" k4 p) @  ^8 t; H2 D1 s
$out .= “\r\n”;
- ^0 X) |+ U4 l# ifwrite($fp, $out);
  a) e7 A: D2 ~/ z6 l6 y8 K/ I$contents=”;  X. v3 B2 S; p9 J+ P) p& Q
while (!feof($fp)) {
; c. o- t3 g+ ?; M* \$contents.= fgets($fp, 1024);
, A" `$ U! J! G5 v}1 H; T, B% p; I: S; K) i
fclose($fp);
& p+ V) D2 x8 R7 m( ~* S9 Y' Freturn $contents;
( K. G6 o3 A9 y9 H0 ]: z' C! a# d}
4 P% t+ U. [" H& e}
0 t$ V& T, {2 W, s: u3 p4 S, ??>
3 x/ K' Q8 l9 y& |% B, ?6 k复制代码
( G( S# ~3 W( R3 C9 j1 ~' C6 R此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。+ X, V/ j1 s8 E- M' {8 J/ }
  PHP curl_exec() function:; z" d' S5 B5 M, Q
<?php
2 a: b, {2 e; x) Z. c' W# ~if (isset($_POST['url']))% k: ]" Q2 n* c3 B) G7 Z9 f
{% Y. H: I& u( z' w, H) c! a; }
$link = $_POST['url'];
* S3 M; G8 ^* j5 T- _9 A$curlobj = curl_init();
: \8 i) L" p- f  Scurl_setopt($curlobj, CURLOPT_POST, 0);/ f. T7 {- t2 [& q2 |0 m9 @' [
curl_setopt($curlobj,CURLOPT_URL,$link);
- x: r5 ?" G: ]. Ocurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
$ M/ b2 P, N' e+ `+ W$result=curl_exec($curlobj);/ j+ M$ @9 S2 w$ ^( a
curl_close($curlobj);. [0 j" o" h& x9 H" x/ S4 ^

5 q3 Y# m5 ^* l- j$ m$filename = ‘./curled/’.rand().’.txt’;: Q6 ^6 G8 t; H  `3 Z
file_put_contents($filename, $result);2 r7 ]% ?: _" W0 Q2 e# t
echo $result;( r' |4 s: f7 i) z: r; k# b
}
0 E2 n$ L/ U1 I  r5 h# S( D# P?>* p  n5 V' ?( v7 ?' f. L6 L
复制代码5 r8 C7 `7 T1 e/ g( l/ s
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。5 }! c) @% Z9 m; ?: Z% |
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:/ W8 G  T4 @, p' {" I
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
( N8 s: q/ p: d( y. Z+ f" c2。开发弱势运行的程序在Intranet或本地Web服务器
, u% w$ @- Y6 j9 \" b5 T/ V3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
1 @7 L3 K/ e$ k. R5 D4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为' a. }* E( P! O
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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