找回密码
 立即注册
查看: 2839|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。% F; }9 R  W5 |3 O3 e1 _
XSPA(SSPA)是什么?- W# p& g3 b& v1 g" L- U; B# [
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
6 u0 f9 h& {% w+ R+ zPHP fsockopen() function:
5 Q8 L5 T+ ^9 R9 p  f' F7 h<?php
" Y6 O- q9 T5 ?. e+ h, ?" Qfunction GetFile($host,$port,$link)& ~, V2 f; W9 u; y6 a% J
{' ], {) I7 Z; n: ?, r
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
( ^* y0 n( v" kif (!$fp) { ! ?6 F. V" @5 Q8 @3 l
echo “$errstr (error number $errno) \n”;
2 n. ~, B2 z6 z  i8 w} else {9 G1 l; w  O# ]* W: c! i6 {+ N
$out = “GET $link HTTP/1.1\r\n”;
% y$ w6 F) h  ^, R2 D2 v0 `4 H$out .= “Host: $host\r\n”;: j7 s* O5 |  i$ Z- A
$out .= “Connection: Close\r\n\r\n”;' Q! Z! g! x& ]8 N8 F  {; z  [
$out .= “\r\n”;) e' B; p% u  O
fwrite($fp, $out);
+ i2 @! Y, _  K" d4 [, i$contents=”;
' H. l  I/ B0 Dwhile (!feof($fp)) {
  Q. T, e* j: z9 f  S$contents.= fgets($fp, 1024);6 f; H9 K- D& I7 U/ x5 X
}' z; B9 D# E+ g% ]
fclose($fp);
' k, x* H; u5 c- t! a- lreturn $contents;- p- j0 u. b1 v
}, c' n4 x9 d6 p$ `2 U! l1 s  G
}
1 {& S# x; g4 d. f# [" b2 \6 Y: G% {?>
$ O, l) b7 L6 }复制代码# L* x, i) Y+ w/ k7 V
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
9 z7 f; a$ H- ^; F- G3 B  PHP curl_exec() function:( Q% U' V: \9 O& q; e# e& }7 w
<?php
4 J! k" S8 @: ?7 \, q$ g; P! `4 Cif (isset($_POST['url']))
$ R; G+ g8 j; A{
2 C# e) Z, k# f9 y3 f8 c8 [3 v$link = $_POST['url'];
# n7 P( ^  \: V" E8 Y: I* c$curlobj = curl_init();
3 h% U4 S8 ]3 J. wcurl_setopt($curlobj, CURLOPT_POST, 0);
% r. d4 d5 D& D- w/ F: o3 Xcurl_setopt($curlobj,CURLOPT_URL,$link);& X; z+ W, D3 S& I9 A
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);, i% `; \, {( i' y
$result=curl_exec($curlobj);* e' B( u% s9 C" s( @7 H
curl_close($curlobj);& q) a* \# |/ _4 B
7 m" K: U8 O% [9 ?/ B( u3 `
$filename = ‘./curled/’.rand().’.txt’;9 |0 A, l  N, S( Z" }
file_put_contents($filename, $result);
, M* N) g/ w& {9 e' Gecho $result;
( ~; U. p$ c' ]/ A0 w3 `}, n$ m; b( v2 w/ |/ @- S% K( P
?>! f# c9 a2 y, b# k( o
复制代码
2 B& Z5 K9 H' b6 \. Z+ {这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
. Y6 }' i7 j5 o* v9 y& X% @在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
+ ^% V1 E( n' _0 y. n! y1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
6 u8 x$ n7 J/ [8 g- e2。开发弱势运行的程序在Intranet或本地Web服务器" ]- x3 h& [) G( I) D9 ?
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)# p/ [: s) s7 |: Z: ]& D; R
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为% ^. J: U; q5 U$ u/ }4 k
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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