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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。* {3 J7 f" d2 G& d  U' Z2 A
XSPA(SSPA)是什么?: f& K( ?8 I+ E& k
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
! [( l0 R. m" \# sPHP fsockopen() function:
( G& b. P% k+ W% z; Q/ S* n9 N( i+ {<?php  l$ {8 c8 x: r0 Q  o
function GetFile($host,$port,$link)
( q6 {! Q; m7 s, i9 e0 ], p2 \2 o{
9 t: |; `  u* O: p$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
3 A' U7 p" w: b, T) |/ Sif (!$fp) {
, E, J8 l! t3 p  Hecho “$errstr (error number $errno) \n”;
  J4 {% N  K. Y& D4 b( {} else {5 c8 X2 h- n$ h! z
$out = “GET $link HTTP/1.1\r\n”;
1 }9 N- L% y! Y- v6 c' K/ ]0 K$out .= “Host: $host\r\n”;
* y4 p+ \2 w+ |$out .= “Connection: Close\r\n\r\n”;
8 ]$ P+ K1 c* X5 y( C6 X4 E, e/ {$out .= “\r\n”;" }: ?9 @' W% N9 Y1 }0 \. G
fwrite($fp, $out);
9 u# n5 a) E: _- W( D4 a- t& I$contents=”;* C7 n9 a4 U# j0 |( S
while (!feof($fp)) {
9 C! e( J& r' p* f$contents.= fgets($fp, 1024);0 s1 g" N& T7 \6 V8 H
}
2 N% z1 S! T5 ?' Z( _# wfclose($fp);& i0 G; k' M7 I8 M
return $contents;
5 Z' C& v+ q2 e" q}
( n) k  [1 h% u" k}
, D# w# b0 I" @8 w' ^?>
/ u! X! F; ?3 I6 o复制代码
: X6 v; c$ s7 I" m此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
" S1 C& F* b2 C' B: W  PHP curl_exec() function:/ ], A5 G3 `9 Z- I. z1 y: E" Y
<?php  o6 ]; i8 _' f  `# V. g. K
if (isset($_POST['url']))+ C- F) ]2 H9 l+ v
{
% u% p3 L6 ~, s. d9 D* {$link = $_POST['url'];
% p* p) y4 x- ~( K/ J* I6 f$curlobj = curl_init();  c' }  X7 _6 [; E5 g/ c! y+ W, P4 g
curl_setopt($curlobj, CURLOPT_POST, 0);
4 G' L0 b  E+ \3 e' B2 b& {curl_setopt($curlobj,CURLOPT_URL,$link);8 s! i; o; o: Y
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
; e  S8 h6 u) {; B$result=curl_exec($curlobj);
$ U8 \" J5 h7 u' w! xcurl_close($curlobj);
6 p! n* A8 p6 |* h3 J
; S7 |7 T5 l7 N( b2 ^$filename = ‘./curled/’.rand().’.txt’;6 F, h. o  Z  t
file_put_contents($filename, $result);
0 H7 X& P" C  I- |echo $result;+ ^" E+ |' l  U: Y# D2 Q( S
}% v6 q2 T5 S: K! w$ g& u
?>
8 {; s4 {2 |( _4 f复制代码1 `9 F; z7 u9 l) e( V/ \
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
" c  D2 A( o/ |# i% F/ D  u' |在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:6 n6 E0 X" m2 n+ i
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
2 d$ s3 x* j! p  I2。开发弱势运行的程序在Intranet或本地Web服务器! D* d" r$ @- D( ?: V  J; j
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)# p: E5 m7 d- T7 s# J' Z" r3 C
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
9 Z- O/ V( f  ?& R! C8 W  V5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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