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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。! N( m% X( J" e* L
XSPA(SSPA)是什么?( {4 S# n2 r$ z7 e% g; j
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。% f8 y9 u$ s, d1 V4 S3 I0 B
PHP fsockopen() function:. l3 |$ g) S9 ?5 x2 T! X" {+ B
<?php
- y" r  P, I% ofunction GetFile($host,$port,$link). o9 J" U  O2 b# ~, i
{
0 h' V+ t/ @( I8 o7 i$fp = fsockopen($host, intval($port), $errno, $errstr, 30);
/ _9 H! y  b5 }- v* a, {! i+ jif (!$fp) {
$ K! [. ?5 W, \9 c/ |* Y; D( A( @% iecho “$errstr (error number $errno) \n”;
9 k# Q1 i+ P- L) X} else {9 ?. y5 ]$ s: [1 X! d
$out = “GET $link HTTP/1.1\r\n”;- h/ C( _7 t6 p% y) b% w9 R
$out .= “Host: $host\r\n”;
" L: `, a/ j( ^5 b$out .= “Connection: Close\r\n\r\n”;
$ O7 w" r; `! \  V$out .= “\r\n”;
* d7 c; Y/ z: \' M5 @# Qfwrite($fp, $out);! @" t! [8 J1 C" {3 ~
$contents=”;* [0 X' L) W/ _; q7 \; b
while (!feof($fp)) {3 P2 T/ Z( z6 b& C/ l# \7 K1 u
$contents.= fgets($fp, 1024);" r) J: a4 f5 _7 R; c0 S
}
" a& m& c9 y; @4 p0 \8 [. q8 [fclose($fp);- x) j# W0 G5 k2 X
return $contents;
3 e% h. ]' b1 C}+ Y5 O% ?, n% v1 z
}( z% q( C$ e) e# k
?>
; R4 v5 J% e# M3 K- [复制代码
& U% f4 t& O) j' O+ z. f此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
8 O! a1 y3 ~9 @$ ]! r  p  PHP curl_exec() function:
* r. m1 q: G# {9 b3 B& o8 b  V<?php
! c& p' z$ w1 ^- H/ Sif (isset($_POST['url']))
( _! j. w: s4 d8 \{3 m' h' K8 ^+ M/ m! x6 l
$link = $_POST['url'];6 v5 ~; I6 c# _$ O! H4 J2 n- H
$curlobj = curl_init();, J' @9 L- M( R, T0 r" Q
curl_setopt($curlobj, CURLOPT_POST, 0);! a3 W$ P1 u9 F7 _( ?
curl_setopt($curlobj,CURLOPT_URL,$link);- d' r- x5 t) F
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);6 M, V( z" Y: \$ E; s' {& @) ?
$result=curl_exec($curlobj);* B, C( S+ `% q. h9 h& ]$ M" E) w
curl_close($curlobj);
6 E) n- Q9 w# O3 n4 {/ O
% y  P, X, b; B3 C; x4 x0 M' W$filename = ‘./curled/’.rand().’.txt’;
% t: H- r* n0 t7 g7 f* V/ bfile_put_contents($filename, $result);
  F; w& V& Q6 @& Q$ l$ n3 C: N1 fecho $result;
. w9 E7 R# s& r% J* M7 I+ x: `}, B- u# t6 G+ \  i% B  S* {
?>
' j3 X) \: D% U! X; N6 W! F5 c复制代码1 L+ }0 ?2 P: s* q+ r7 Y% \
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。; {+ N+ b6 F+ S2 |! K
在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:! y5 H# U) [) y% }# s3 d
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,& K# X( {# ~  b
2。开发弱势运行的程序在Intranet或本地Web服务器
7 V! }2 t' d* Z, \3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)3 s# [1 n- H0 N9 Z! n& f
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为4 r+ s5 v# U$ ^2 b! x
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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