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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
6 h9 a' `5 i. s' yXSPA(SSPA)是什么?
* [3 n4 b  o) e5 D% y如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。+ y. k$ h# X' i8 f- F1 M
PHP fsockopen() function:
$ q  D% _1 ?5 d- s, s( s# _<?php* E4 ]% K' i' |6 D
function GetFile($host,$port,$link)
  ]3 J3 I* a" R# Q- z" ^{0 I  h7 L6 S( K" a2 \0 S
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);' U, q. C8 f! {6 i
if (!$fp) {
" e" g& U$ S3 Xecho “$errstr (error number $errno) \n”;
* Q) X0 n- Y# W% ]} else {
6 ~, Q5 ]! ]. W3 D# J$out = “GET $link HTTP/1.1\r\n”;4 {7 |0 K  e5 ~/ `* D
$out .= “Host: $host\r\n”;5 g& m) r3 I4 K
$out .= “Connection: Close\r\n\r\n”;2 C3 h. W  \4 I5 H  o9 J( a2 k
$out .= “\r\n”;4 v: l: H" g5 ]& E! D8 D+ a' \
fwrite($fp, $out);3 ?/ O- d  H% K. |0 l' T) \1 K
$contents=”;
* H. j8 O: t/ g7 j: o' E' F% hwhile (!feof($fp)) {  k3 B( g- k& W, b% H* ?
$contents.= fgets($fp, 1024);
# b! V- J# j' Z. Z' T+ C}
$ `, b( r- {, C7 i( o+ Lfclose($fp);: r, }! L0 M) V
return $contents;
# N* ]/ n* N) ^& w5 x7 r& p}" y$ W3 O3 F( a" h
}+ m3 ~7 }& B. S5 i1 G+ G. I
?>
( r0 Q+ U4 h7 N$ q复制代码( G- {! D+ u* A
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。7 `* k6 P0 W: {( Z
  PHP curl_exec() function:
- j5 k* \  `3 s6 [, W<?php
; T. B0 M  _. Gif (isset($_POST['url']))
8 t" c1 J* r5 p+ j{
/ _! @' P' t; H6 G& d* T9 Q4 l$link = $_POST['url'];/ C% I' h; g  t1 a6 F' Y6 D
$curlobj = curl_init();
& t5 w% D( o$ o4 _  l+ ]curl_setopt($curlobj, CURLOPT_POST, 0);
4 q, H# W+ I2 ~/ E% M6 ncurl_setopt($curlobj,CURLOPT_URL,$link);
% N+ P! o/ I0 \1 y. ?# L- Jcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);- Y: N2 c( ^1 p5 U$ ]: ^+ ]
$result=curl_exec($curlobj);0 w, U( d; W+ ^7 Q! q, K, T
curl_close($curlobj);& m( k* Z" ^+ m& t

7 |' R! c: G6 c! B4 e$filename = ‘./curled/’.rand().’.txt’;# }( p0 ]5 E( ?2 G
file_put_contents($filename, $result);; F' s, t1 ^$ z- c6 u
echo $result;1 m3 D, j( s. I+ F- `9 P# |# F/ w
}5 a+ c% s5 C1 R' E  w
?>6 i- X9 b( g( n, q
复制代码
$ D, E" [$ B: f9 M这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。, `: W' r  F2 @
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
' @; `, z# r/ V# u3 [1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
( U6 V" T/ T8 N7 j/ G$ {/ @2。开发弱势运行的程序在Intranet或本地Web服务器
, p3 {- z* F+ y% M3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)! G, w9 C0 X8 l/ O
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
$ X* l5 B0 k$ X, [5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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