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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。: I+ r) E- e* Z. n# d, k) |
XSPA(SSPA)是什么?9 ^' U* n' F, u$ Z9 C; X# N; G) {, u
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。# T" ?1 g( D5 B/ c5 V. T
PHP fsockopen() function:' K7 h6 T# c+ v
<?php9 h- O7 F% p4 y0 V+ p
function GetFile($host,$port,$link)
" x5 K6 q: ^# k0 ?$ F" n{' C, D) S3 ~" s5 `
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);0 O5 U( O4 P; a, h! n/ \
if (!$fp) {
* L1 [9 @. l4 @echo “$errstr (error number $errno) \n”;& N0 a; X- g* `" |7 w: q
} else {
: A! d/ l$ O+ Q1 v3 A) K$out = “GET $link HTTP/1.1\r\n”;
, ]+ s9 s# ~5 `3 y8 V7 c, I3 M$out .= “Host: $host\r\n”;3 }% _0 S9 o& B0 ~" z: I- v
$out .= “Connection: Close\r\n\r\n”;: v# I# S  t% `6 w( g' h
$out .= “\r\n”;' j' U$ u" J% v" k8 T, x$ z" z
fwrite($fp, $out);
" G) |% b+ L$ L3 W9 M( U& P: e+ U2 k$contents=”;" a  b' ]: U- {0 K
while (!feof($fp)) {% k1 X1 {" m0 |
$contents.= fgets($fp, 1024);0 O- U/ j3 k/ p
}1 @! z* H7 Z# H" f$ [1 R; W6 z
fclose($fp);0 W) C! V/ Z9 b0 n7 U1 G+ w
return $contents;
; n5 Z; p  A- e- p" I}
/ N" x* s& {8 V# ^* m- P$ h' B}  v/ q: f$ H. L8 P/ C
?>
. m; i1 Z  L) l4 a) e% D, V1 M复制代码: J( `$ V- a6 D- Y% |! s
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
/ F8 ~" g& T# |1 i$ q; I. i  PHP curl_exec() function:
6 ]8 c- S  X, U* d6 m<?php
) K8 w3 d& `" c9 U8 |if (isset($_POST['url']))0 O: ^4 A. N& s1 r" Q3 y
{  l) t  ~0 S" T( J! ?  J8 G& B
$link = $_POST['url'];
5 L; b8 k" O7 c. K0 Y( J- T8 d, |$curlobj = curl_init();
% I  u6 y: w6 v: ~/ tcurl_setopt($curlobj, CURLOPT_POST, 0);8 c' t* V+ O( T
curl_setopt($curlobj,CURLOPT_URL,$link);
$ l% a, R- r$ l. M+ Y# ocurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
2 X8 V  L6 o& }% }+ ~* g. [1 i$result=curl_exec($curlobj);2 v, k/ t8 A, a$ y
curl_close($curlobj);
7 ]7 ^* ^, ?2 ]0 l9 D
. t* `3 {; E# O& N$filename = ‘./curled/’.rand().’.txt’;
  A) `7 K+ V. |2 A: @4 Sfile_put_contents($filename, $result);
8 R5 W( {! h! x  C& w$ ~echo $result;! Z# r5 S' }5 X$ c7 B9 C4 W4 M
}+ @- D4 o; r, T3 j/ @0 }
?>
7 W, P. [3 M+ P. B, t1 ]) M复制代码
2 `. n" ]. H# {1 P这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
: h( V8 Q7 a1 i( P& T在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
1 m' Z1 a/ _* c1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
) J' s1 U5 S; `4 x* \2 X  m2。开发弱势运行的程序在Intranet或本地Web服务器! @: d2 N8 D0 M& `6 v
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
* h1 U5 I! l) @1 ]3 \$ c( J8 O- B( _4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为9 q: k, K/ |, r# C7 a
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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