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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。# i- q8 F4 B2 s) h/ I
XSPA(SSPA)是什么?; }+ C# F! m: Q  [* O2 T
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。7 \+ o2 C# k6 I- W0 a7 x4 {9 C
PHP fsockopen() function:
) S7 f/ V1 H% w<?php
8 ^- A: s- R% Bfunction GetFile($host,$port,$link)) {# z; }2 N9 w( M) g* @5 K
{
' F! }, h8 H$ w$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
6 X- m. X8 ~0 C5 _! i- Rif (!$fp) {
. s3 l# `$ S7 ]echo “$errstr (error number $errno) \n”;! q2 N, y6 W5 [
} else {# X1 o, Q$ \0 t3 b
$out = “GET $link HTTP/1.1\r\n”;3 Y4 W' h3 J1 K, J
$out .= “Host: $host\r\n”;/ o' g7 M* ^/ m! H* O# z7 g* T, ]9 Q
$out .= “Connection: Close\r\n\r\n”;7 A' y6 J5 N( M
$out .= “\r\n”;* R- T9 D# I+ d4 Z
fwrite($fp, $out);0 }7 b0 a8 {9 r0 K! W
$contents=”;
) ]) ?* G+ f7 @( v. ?4 c- vwhile (!feof($fp)) {
; X5 A' S9 G2 v( ]% Z8 e$contents.= fgets($fp, 1024);
$ g) w6 T4 N8 X* ~}
/ G6 G) a7 S; ~& ^fclose($fp);$ k$ ?3 ?- v! ~
return $contents;( Z' V6 l7 i( Z4 f( Q
}
3 X+ R$ I+ t+ a# t5 s; d}
7 n- e6 k7 N; v& ~/ d- J?>
. X1 _: D1 J7 d% j$ Q6 \4 N0 }" o. a复制代码
- s, e  i! A7 @* J' j& q此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
) d2 K: ?1 v  A! }  PHP curl_exec() function:
: U6 z# n5 C" c<?php
; Y% R$ e% ]# i' I5 Nif (isset($_POST['url']))0 l+ X/ a; l9 C0 S: S
{
9 N: q( N- V9 `0 H$ j$link = $_POST['url'];  X8 w7 |" w# s/ p( A/ S& F, \
$curlobj = curl_init();# h2 X/ k) Q/ T9 \: b
curl_setopt($curlobj, CURLOPT_POST, 0);
8 i# ]( |5 b% R. Rcurl_setopt($curlobj,CURLOPT_URL,$link);
. z" y7 {0 q; G; j/ vcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
& U) X: s+ @3 l8 G  p$result=curl_exec($curlobj);
3 E) t' \& d% p& |0 ~  [6 ?curl_close($curlobj);4 J! c3 c& j. C- `, e
- N. _* P! E; x$ B
$filename = ‘./curled/’.rand().’.txt’;
1 D7 p8 \; _- B. q: m+ s8 [: g! efile_put_contents($filename, $result);5 g+ M' o& C; ], ?  ~2 O
echo $result;/ H; m, A+ `6 t. k, q8 I
}
7 F$ v' g( O! }# r! o# R( V. c?>
% Y! X% D' q; l+ H/ i/ W复制代码
/ i1 y% C2 X+ E这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
0 L2 }# X6 L! g9 m在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:5 o) K3 Y; [+ S8 ], z. r
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,& L- g# e5 W7 K2 N6 J7 w8 D4 @
2。开发弱势运行的程序在Intranet或本地Web服务器3 E# L3 c/ I4 D, b
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)0 z( L) I& e0 j3 ]1 w
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
# _* ^6 }) u4 b+ [5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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