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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。, s) _; P, C/ G% G+ K
XSPA(SSPA)是什么?+ q; @4 q) k* K8 \
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
. X! {( ^; U6 f( zPHP fsockopen() function:8 H% Q6 h% v, t; @
<?php* {7 L  L5 _, `' q
function GetFile($host,$port,$link)5 q0 r4 Y) p+ |/ Y5 m, H
{
" @3 B/ i0 k5 K1 v, U: J$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
& Y2 `; H: S, e, B7 f' d7 xif (!$fp) {
# i, f: _. L0 E- O! decho “$errstr (error number $errno) \n”;
% E* B; ^; n% _3 W8 @} else {% C9 N& N! U% o8 A/ U/ u* \
$out = “GET $link HTTP/1.1\r\n”;
3 r8 D* c& K: T3 B$out .= “Host: $host\r\n”;
4 b4 J9 h+ v5 \$out .= “Connection: Close\r\n\r\n”;* m, L9 t, X$ [' G
$out .= “\r\n”;
& t0 h& u( A) i" j$ A  _fwrite($fp, $out);( g% m$ H& j, ~
$contents=”;
/ K, i9 b4 P* B  j# P9 h, nwhile (!feof($fp)) {$ o, `( ^; g* r* r  C, T
$contents.= fgets($fp, 1024);& O1 \) v% u# r3 c. \9 [
}6 o. ^  h5 U4 u4 \0 p+ x) B# a
fclose($fp);7 f$ v+ E8 k! s" {" Y
return $contents;1 ?# S, t( h5 E
}
3 A8 t: I( e; K) G}5 Q9 Z9 x! H. e
?>2 x! ~2 v, o# v$ l
复制代码, r" n, m. l) d
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。# d2 z; G4 j7 Z1 c! v, z1 p" K
  PHP curl_exec() function:
1 D# ^) T2 ~! p  Q( \. `; K+ z<?php
4 z$ `8 N  c1 s& p- g- }if (isset($_POST['url']))
. N- y, F  P6 b: \* x8 w8 F{
) m' R4 ]0 h3 [3 C: I( U$link = $_POST['url'];
# U+ m6 A6 H; y. f5 k" Q8 o$curlobj = curl_init();
& z; l1 E6 k7 ]curl_setopt($curlobj, CURLOPT_POST, 0);, W3 D7 b9 B$ q
curl_setopt($curlobj,CURLOPT_URL,$link);0 ~9 ?/ ?6 ]) m
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
* G) Z9 E+ q7 e! G& z# j$ u$result=curl_exec($curlobj);( q- L2 A& Q, m6 e$ {' y1 j4 d" t/ I
curl_close($curlobj);  b6 j+ ?/ I3 b! B* ]1 ]

. [; q& \, A2 e4 O$filename = ‘./curled/’.rand().’.txt’;- W* a' e- l- m
file_put_contents($filename, $result);; ^$ ]+ ^+ f( W/ T' D, ~
echo $result;
  O8 u0 g) I% Z}
3 P9 j- N$ e; T2 h* n9 @( Z2 H8 o2 }?>2 |2 P. d* M) B
复制代码. @' O* |0 J5 D, h) k1 C
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。, H) `. A# [3 g+ i' W0 c* D
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
# K1 f3 `( ~% Q* J8 I, t; q1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
0 _# s: S' L# [2。开发弱势运行的程序在Intranet或本地Web服务器
8 j% T" R3 R( |& K1 z- B" s4 Y7 L3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)4 w0 d1 ?' k/ {0 Z8 T4 u9 @8 L
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
; s4 O, {: T" P! N) X- a5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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