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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
& l9 l) v6 ~& _( K' r7 gXSPA(SSPA)是什么?3 A2 X  H# c6 \6 v3 O* \
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
! W. n2 w. I4 o( v% qPHP fsockopen() function:
' ^! b8 p0 W# _* @5 F: f<?php
+ c/ y) `& Z7 H! V5 v. N5 L) qfunction GetFile($host,$port,$link)( I" D) F  I8 p! {5 I. N  ~0 o
{
0 X( N* `0 G2 S! {/ ?7 L/ W, e$fp = fsockopen($host, intval($port), $errno, $errstr, 30);, ^) y' l5 [9 X) h: c- D
if (!$fp) {
* Q7 p" P! p1 a' y1 A# `" J5 v. |echo “$errstr (error number $errno) \n”;4 I  v; t" b8 P& j
} else {
3 n9 A* y3 e4 K6 h3 L2 b$out = “GET $link HTTP/1.1\r\n”;0 I# ^1 E" L$ L; }( l6 X8 H
$out .= “Host: $host\r\n”;
6 Y+ y: N  ^6 l* u" L2 H$out .= “Connection: Close\r\n\r\n”;' k1 d) T# y2 [" ~+ S! C9 l+ W
$out .= “\r\n”;
5 ?$ C- h! l7 V5 n" i( Tfwrite($fp, $out);
) C2 s" J: o" O$contents=”;
) l4 v. O' c5 P% w5 M* @" D2 owhile (!feof($fp)) {
& N6 C) z( T- W8 O$contents.= fgets($fp, 1024);
. q! f/ C( E6 }$ s6 i8 `5 b}2 J9 z- I& D4 v) c1 g" o4 M8 \/ Q
fclose($fp);% G* \. B. l0 k0 X
return $contents;8 I# N1 ]8 w, g: E
}: P. j0 `) Z* m/ a: T, \0 O8 B$ Y
}4 |& S; E8 g$ Y0 h
?>4 d6 K; a; m( J' O+ q9 c
复制代码6 \( g7 T) o3 `& K
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
1 u3 u; C- h. |  PHP curl_exec() function:! }& z/ }2 e, m) S: p" X1 w. N
<?php, H* N! ~$ v1 P2 P4 f& L9 ^
if (isset($_POST['url']))
8 E6 g/ _( Q4 J8 U! @1 m% d8 N{
* u" G8 x0 ?- ^- t7 @$link = $_POST['url'];
. b/ z* D( Q) J1 C  ^$curlobj = curl_init();* k7 L) E5 h2 \6 S4 d$ k) q
curl_setopt($curlobj, CURLOPT_POST, 0);
; T  |. e0 \# H+ V! Tcurl_setopt($curlobj,CURLOPT_URL,$link);
( G7 F5 v: L) jcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);( Y% N3 v9 r( U4 Z8 n
$result=curl_exec($curlobj);" K* _+ C( o) Q( ~$ R
curl_close($curlobj);
  c) `* ~5 G' [! v3 S& s
+ e7 E" ^# |8 G5 Q7 i$filename = ‘./curled/’.rand().’.txt’;
& d6 k" q- [6 U( Gfile_put_contents($filename, $result);
$ A# ?: L5 o" d+ J  qecho $result;
0 t' N$ `! o& I- Y& X/ ?}7 E5 U- o1 o' a. g) F. W
?>3 B3 h/ D% A8 ?
复制代码7 Z4 Z! m  ~. R" l
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
! y. t. q. B2 i0 E* ]0 X在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:4 B0 Y3 q% f8 m& B3 u, {# a  n0 n; I
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
" w) V, B8 j; p, Y1 n2。开发弱势运行的程序在Intranet或本地Web服务器6 S* R+ @* ~# t1 G
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)3 i7 {, [2 D% ^, \
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
& R" I+ F1 q+ M  ~8 C5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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