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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。9 c/ w: F2 X, I
XSPA(SSPA)是什么?5 I7 _% E" U- g/ R' ~7 p
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
7 L+ a& n, v) x8 _" Z$ f* SPHP fsockopen() function:; y3 e$ D5 v: m6 J  j
<?php
$ _, V/ F% y) cfunction GetFile($host,$port,$link)
; U! a8 \( ]# v; P2 K6 \2 E{
. |% }0 [1 A8 Z9 E$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
* ~  J% K' u; Z7 H0 c' Zif (!$fp) {
/ s- G; I/ t+ T- a, B' uecho “$errstr (error number $errno) \n”;
0 L/ Z: w; X; n- W} else {4 s  M8 Y/ B8 T3 v; G
$out = “GET $link HTTP/1.1\r\n”;6 t! L( P* T8 U7 L* d
$out .= “Host: $host\r\n”;- t( T2 i" ?% a3 X# X2 V# V
$out .= “Connection: Close\r\n\r\n”;
" _' c+ F% {" o8 X+ h$out .= “\r\n”;
  _- T; X- D6 _& U" {9 x# Ufwrite($fp, $out);9 u/ E) Q( R+ H* e7 s6 B
$contents=”;
: p. C. a$ I$ R6 T( u, l( x% fwhile (!feof($fp)) {# h( n; h. u" T; y9 D; @  z# v+ X
$contents.= fgets($fp, 1024);/ K7 X+ [2 _- j7 C, A6 c3 W
}$ Q  K$ m8 L+ p" U$ e+ F4 F
fclose($fp);
" o3 L/ ~7 C% Dreturn $contents;
, d5 c3 @+ {: x0 g  w9 e& T; `  V}* z. u; D2 B1 X! d, R. A/ j
}
! `: l; `; e# M- M/ C+ ^?>9 A  Z+ W1 m) Z, U  {
复制代码, F% h7 n! |; k' t- p% J+ S
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。! i" z/ U$ T) U7 y& n: ]0 N
  PHP curl_exec() function:5 t, M8 L3 u5 h! Y
<?php4 v. p+ L3 {# C+ O* c  Y# y5 @; S
if (isset($_POST['url']))
6 @' y1 S+ v# C0 v3 B{1 o6 P1 k/ x/ x6 D* l/ u7 q7 v
$link = $_POST['url'];1 ^  U) j- s4 [9 v
$curlobj = curl_init();1 ?/ \' W7 w" m5 m7 j) v. O$ I
curl_setopt($curlobj, CURLOPT_POST, 0);
! [5 z% p5 w! N* N9 Zcurl_setopt($curlobj,CURLOPT_URL,$link);+ _8 v. [! x% a0 L. R4 P
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);3 T( g$ ^/ g" W: u6 W1 _
$result=curl_exec($curlobj);
3 B: p# g/ y; n3 p# Z6 h) P' Y' V0 acurl_close($curlobj);
  t9 V9 j6 C& d& _/ I) T 7 [: U+ e; v0 R/ v
$filename = ‘./curled/’.rand().’.txt’;
6 H# \+ Y# B1 M% a4 B5 G& xfile_put_contents($filename, $result);
1 f+ O: [9 b+ I- @# Xecho $result;
8 o# Y' H& ]4 X% b; L9 H+ g! z}
- ?/ Z5 J- t, U?>$ t3 M: P! y/ v1 S( A+ y2 E
复制代码
( w7 O4 L' O/ O1 x- e/ G这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。* B: N# P2 k+ P9 r
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
  U% u3 E+ m! a, @+ P3 P7 U5 `1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,) ~) M6 ]* L; Q/ Y; s- ]8 {- {
2。开发弱势运行的程序在Intranet或本地Web服务器, ~; U# V7 e# z
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)
" k# j% i3 F3 O# {; v* G8 }1 p* }4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为/ ?+ d+ y, h% Q# B. @
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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