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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
- S* L7 L+ {- w- R3 U6 C2 _+ [XSPA(SSPA)是什么?! x) z. o) a' n: F+ @" T
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
  N( @  J+ n0 NPHP fsockopen() function:# Y& Q" O+ u* R+ L( E8 T
<?php
3 J- m% M3 X9 b1 V% h- f& R. @: Jfunction GetFile($host,$port,$link)
' E* P# s) o  @, x& [- u{5 d7 q: O: I8 P% w. P1 u5 K
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);" _! u- a9 C" P
if (!$fp) { 3 v7 q% v& e  `) A( q
echo “$errstr (error number $errno) \n”;
9 t% |5 d( I! j/ J$ \6 I! {} else {. Y' b& s3 X# Q9 ^
$out = “GET $link HTTP/1.1\r\n”;
& w6 z1 @+ q# d  K; b3 N3 V$out .= “Host: $host\r\n”;
. ~; l$ w" w5 g* S, f# g$out .= “Connection: Close\r\n\r\n”;# e8 x+ [9 n8 H- S
$out .= “\r\n”;  o3 Q0 y8 E& w0 J$ {$ b
fwrite($fp, $out);# x' n6 Z+ |# B" ~0 @& ]1 X8 \8 L( o
$contents=”;
6 t# |6 s2 [' ~' M1 @while (!feof($fp)) {% k9 m9 \  Z1 f5 _
$contents.= fgets($fp, 1024);
% A% [2 ^% y  b. u* Q  ~}
6 M' k% D7 u( b2 x1 D* Kfclose($fp);9 Q1 l1 a0 z* T6 q6 t1 R
return $contents;
; ~, Y# w8 ]) v$ U: c}4 M- h" D1 X( _& C1 ~/ @: e& a
}
' G  j/ L9 _2 s?>: Q& \- m$ h2 O
复制代码
' ^) q  Q. M3 B) n( j此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。" o  I4 |  `8 Y4 I* X& n: z5 S0 f
  PHP curl_exec() function:
( N6 s% [2 K5 ^( u$ T/ ?  a% i<?php/ T" L( W  b$ B5 `5 C9 m# C
if (isset($_POST['url'])), A/ }, U; l, `2 n% E8 g
{$ P' m( D6 p9 H3 }, y
$link = $_POST['url'];
# [: f) C4 X/ Z6 o! c; r* X$curlobj = curl_init();, G! e% v* T+ v
curl_setopt($curlobj, CURLOPT_POST, 0);' O  K) h2 X3 ?5 [* K& ]
curl_setopt($curlobj,CURLOPT_URL,$link);
0 _" i  H. {' S" O. pcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
$ O4 L, R/ B5 x1 j* [! B$result=curl_exec($curlobj);
8 B( u$ |2 R8 z+ v! _4 tcurl_close($curlobj);8 n( M: Q" u3 {% D- X/ Q, l

' C+ l7 j7 a/ e/ C% O5 t; o, _$filename = ‘./curled/’.rand().’.txt’;3 ^/ h1 i: R, d  u+ i  e
file_put_contents($filename, $result);
" D4 z- A/ F. i+ c( Necho $result;; G( K5 T/ u& T* k( M7 `4 M1 S
}2 c4 m' V6 n6 h
?>, q6 p( [; n- g1 ~0 z9 c
复制代码
% X' r$ k! `; o; S  p/ n( R这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
7 c! _2 y7 e" A7 Z1 y在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:6 e# O1 M4 {# A, K8 c" S0 V/ c7 Y7 w
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,' k% ~6 o, H( s9 b
2。开发弱势运行的程序在Intranet或本地Web服务器
1 T6 X  H5 b% D, k, T3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
) ?7 w* s5 |9 Y4 L4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为" T8 ?3 G4 ^# B4 v
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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