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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
9 K# a1 T4 H& s2 n) n% {$ |XSPA(SSPA)是什么?
5 u6 l3 e2 f# I7 k$ f* O3 b如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。. X8 S+ y) e# _4 {6 [) i
PHP fsockopen() function:
$ ^: T, M2 N# R<?php
# Z* Q. p+ Z7 p8 v% ?+ Q. xfunction GetFile($host,$port,$link)
! T( |. F. w  o$ x( Q5 a  P' m% M{
) p. z. G8 h% l" C$fp = fsockopen($host, intval($port), $errno, $errstr, 30);' g5 _' u( U- q1 G! O
if (!$fp) {
3 {0 b! ]$ U1 M. x  zecho “$errstr (error number $errno) \n”;
" U: q6 p9 ?& K6 t5 |2 y} else {
! n6 w, s. l5 b2 X) ]$out = “GET $link HTTP/1.1\r\n”;1 Z+ c: N$ ?  l' [* K0 }
$out .= “Host: $host\r\n”;
" \; U$ _) Z$ t6 A0 z0 [$out .= “Connection: Close\r\n\r\n”;* @" y8 U9 |; o! [" k9 X
$out .= “\r\n”;
* v0 N5 Y+ I+ h0 |" `9 X7 ffwrite($fp, $out);0 P& y4 k! I" q2 Y7 @8 c
$contents=”;3 }9 }! ?7 ^% Q9 H% e
while (!feof($fp)) {) m4 j5 z* U. V; Y* l/ Y5 L+ f! x& X( ^% {
$contents.= fgets($fp, 1024);
" ]- z6 b& x, k}6 f5 m& {5 K! b8 q
fclose($fp);0 ]5 h: X' l: ?; u+ @7 h
return $contents;- _8 r9 }4 ^3 S; g7 u- X9 T
}# I. P+ h( N& z$ [
}
2 _; }' G8 h4 P% }" t?>: I4 |9 h# H' n8 Y9 y9 Q- k( |: S" \
复制代码+ E8 E5 |3 F6 u5 T* `
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
, d" n: z7 p5 U6 D  PHP curl_exec() function:- y& e4 P% B$ [  F7 z5 U" L
<?php0 O6 a7 D6 a1 m. H
if (isset($_POST['url']))9 L4 r+ @, _4 @& s0 i
{
! E& K1 E# `" d4 u! r9 J$link = $_POST['url'];
% {; N* F/ k% I' ^4 U7 @5 Q* e' G$curlobj = curl_init();5 Z) w$ R$ a8 F% z) L7 |9 `: k# Q
curl_setopt($curlobj, CURLOPT_POST, 0);( f/ P" _4 ~0 @  R" |
curl_setopt($curlobj,CURLOPT_URL,$link);
. ?$ w2 J) P% Pcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);0 C) ]: W6 k) F) `! t- h
$result=curl_exec($curlobj);
9 F$ U+ F; w% n$ U  d0 w2 g& C7 Dcurl_close($curlobj);1 [( N: |& @$ p% M8 v# U
% ?, R. p5 n1 A) c
$filename = ‘./curled/’.rand().’.txt’;
9 }* u+ Z- E% O; V' V7 Bfile_put_contents($filename, $result);
: K) y: ~( V+ e4 n# l% Qecho $result;: e0 D  E% y+ ]. n
}5 v  l1 \# m. c
?>
) k8 z; G, V) ?复制代码
# A$ E8 V" y& \6 t( M+ H这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
& [/ N) D( L% J: Y: O在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
7 m6 F. g  ^' Z/ i! M0 S* r1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
% C( G+ H5 W/ Y2。开发弱势运行的程序在Intranet或本地Web服务器( O" f' u# T1 X& X! W* k
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
% {6 C3 j+ F. f5 J! L# [4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
: C2 K  X% }  Y( Y0 A; @3 a0 Q5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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