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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。
- c6 v5 a3 V# CXSPA(SSPA)是什么?
8 S, U0 L- ~" u( _9 Q如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
6 `9 C" `- d  n* e4 y: x  _6 T% UPHP fsockopen() function:
0 t) P: q; Y3 O+ J  Z0 ?2 K<?php
  }3 H4 y; n8 ?0 Rfunction GetFile($host,$port,$link)2 D' Q/ N5 w% U+ E8 y
{/ Z0 Z& W4 v* ~4 k
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);8 N6 L6 h6 g. B$ L  f' X
if (!$fp) {
. H( x7 g3 N# kecho “$errstr (error number $errno) \n”;- Y# c6 r$ `& v3 p6 o
} else {8 m7 h) {' R0 ~( }* Y
$out = “GET $link HTTP/1.1\r\n”;! D$ m& f! U5 s$ v+ u  q
$out .= “Host: $host\r\n”;9 r! f0 P9 M* @% [" |
$out .= “Connection: Close\r\n\r\n”;  V  c2 Y1 ]5 Q/ X( i  y5 l
$out .= “\r\n”;
- X) @+ Y4 h9 Y5 `$ _% ~" jfwrite($fp, $out);
8 B  o1 ^( G# F+ F2 O8 S$ R1 o$contents=”;
: y6 y  z- C2 p& i1 [* pwhile (!feof($fp)) {
$ e; l1 W( ~+ B/ L  }$contents.= fgets($fp, 1024);
5 E' P$ d. _8 `: x3 c}
& H9 A2 k( n: j; h+ K: ofclose($fp);
0 B% O% i/ s- x, m1 R  J( x5 }9 ?return $contents;
" i% n- F$ |: K}
0 X! `* W2 b: o0 ?+ ^: f% A}
# q, Z, d9 M/ b# t/ m0 s8 R?>! r9 X+ y8 R% ?- b- g2 y
复制代码
( G: W, a/ g' z! P; Y. }& I8 t) i此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。% J7 @% ~1 z: U! E6 \6 h
  PHP curl_exec() function:
# X$ L3 m7 z4 W" R<?php
+ O: @+ s$ K, V/ [1 Xif (isset($_POST['url']))6 r8 m; B# h' x& }+ t: c2 `
{
+ A" s5 |! b& t" |% h0 e$link = $_POST['url'];& W/ H3 {) w4 F; P
$curlobj = curl_init();5 e# `7 r* G8 a! Q8 {. l" G( f
curl_setopt($curlobj, CURLOPT_POST, 0);
0 {  {6 i9 I+ acurl_setopt($curlobj,CURLOPT_URL,$link);
% G* t& P0 u. Y) b& {2 M' hcurl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
9 c- Z+ ?# ?7 B" W! g( N# g$result=curl_exec($curlobj);
1 i7 Z) W8 l! \7 c8 Y2 gcurl_close($curlobj);# h3 I6 y! A% d4 C5 D% y
) a' h) l; e3 q, j( R6 X4 s! [
$filename = ‘./curled/’.rand().’.txt’;
  ]' L+ C, ]3 ?0 ofile_put_contents($filename, $result);5 H) ~$ }, e# z/ V4 Q
echo $result;0 e* a5 b8 Q) k: y
}
. @0 ~; u+ F* n7 n?>8 u4 A6 g6 m! e
复制代码) g- J2 I* Q* a+ a; j
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
* ~8 l; w4 a& y' q: f. e在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:0 J! B' b5 F+ F  k7 q
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,+ l4 ^! Y* `5 [6 `
2。开发弱势运行的程序在Intranet或本地Web服务器
/ Z# O6 C  m! t2 ?6 d3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
* o0 d8 N% _4 D. c: W4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为
* r( L6 t4 W! S0 [3 B+ n0 ?, n5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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