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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。# V5 v/ [! T) C* Q/ b; i( |
XSPA(SSPA)是什么?# E& l/ g  Y8 G6 X
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。' A) J9 v7 A. }; r  a
PHP fsockopen() function:
; @6 ^/ E, r2 i. k; M<?php
* E6 p* r7 |# Vfunction GetFile($host,$port,$link)
% |% n$ Y. T" q9 U" d{* ^: l! L. H, a  p  r- {9 E/ |
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);2 r0 x% d! F3 z1 f
if (!$fp) { 1 x2 L: [& W# `7 G
echo “$errstr (error number $errno) \n”;
; z3 R4 O4 u7 i, _6 [* K) A} else {  c1 P' o* F/ T! \8 ]
$out = “GET $link HTTP/1.1\r\n”;
9 Q5 m; [* n* c  C9 b$out .= “Host: $host\r\n”;6 O2 a. |+ s$ B- G
$out .= “Connection: Close\r\n\r\n”;
4 o+ u% H  G3 z, `0 Q$out .= “\r\n”;  d3 s5 O# K: s' g) D" N0 b
fwrite($fp, $out);8 x5 A# x& Q- l2 D8 J' R  f
$contents=”;& X1 H0 ]* H7 }1 _+ h
while (!feof($fp)) {
0 e# x8 f9 E: h7 |+ _$contents.= fgets($fp, 1024);+ T" k8 C8 O0 u! N( N
}5 a1 u; i$ R! h( `& r
fclose($fp);4 X/ I* |3 e, c% l: D  I6 ]
return $contents;
% g! h9 F% o+ g& C0 z5 o}
) C5 Z, t0 n3 V( {}5 S, c6 q# G% g
?>
' }0 N" U$ @: C4 |复制代码5 _( g8 v- ^. ^$ U# }% [! j, Z
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。; @' k$ P+ h! O. `
  PHP curl_exec() function:- |$ Y$ }& B' V# g
<?php
0 x" k; p( e: @" Eif (isset($_POST['url']))5 |) c1 K2 S4 z2 t/ m/ B4 q
{
) U! `! h8 Q* ]/ r, j$link = $_POST['url'];
5 ^0 d/ C  {% R$ c! r2 X& N: ?$curlobj = curl_init();
. }2 g% U( D5 z7 Y" s4 ccurl_setopt($curlobj, CURLOPT_POST, 0);7 K: K" g% ]- Q% a3 W  r" w
curl_setopt($curlobj,CURLOPT_URL,$link);: F& R" i6 y" ]6 W0 r/ X! ?
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
* a2 `  s* Q9 D1 s6 E* ^8 \$result=curl_exec($curlobj);/ x+ S0 H7 ^' p0 E' W8 Q
curl_close($curlobj);
, k6 E" h  l( f3 s% M
3 J  E8 y; c* T6 R0 F1 y) U* b+ Z$filename = ‘./curled/’.rand().’.txt’;
  h' i9 ^1 `* v* O. Y7 ^; @: Bfile_put_contents($filename, $result);  I9 L. h+ M8 I3 ~8 l
echo $result;$ K, ]& B# h2 w2 c
}+ A  M" w! e* G" j, \: [
?>+ ~! F- w- u& l8 e' u% k# u* j
复制代码
; p2 ?( L. j: [$ ]( z7 S这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。) ^9 c: k' E( f
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
- D$ t) W$ d$ o# D  n) h" Y1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,, z( p) m% d: v# x& n& n
2。开发弱势运行的程序在Intranet或本地Web服务器
4 L3 V9 L' ^' J$ f4 S3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
6 t2 P# y; t7 C5 l( j4 j* [+ I: N  b4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为& T) P5 n9 H$ A" ~1 I: ]
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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