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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。2 [, k# N" ?, d: G/ _  S
XSPA(SSPA)是什么?/ P% R5 O4 g8 b' f3 L: B
如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。
4 ^  ~  F9 @6 \PHP fsockopen() function:
) V) [( ]4 D4 D" ?- G- I7 c<?php
- |! G. D* b( p* c( p* e, w: qfunction GetFile($host,$port,$link)  V! L' A# K# k6 M: ?+ I: v- L7 |7 ?
{
( }; Y4 A$ Y' P9 t1 f$fp = fsockopen($host, intval($port), $errno, $errstr, 30);8 G' V4 t2 A( R, P2 a+ F
if (!$fp) {
- g4 r  f8 i; Cecho “$errstr (error number $errno) \n”;
' ~& B3 f. c; Y0 \5 M; M} else {! H2 j3 G0 j8 N' u. U; N
$out = “GET $link HTTP/1.1\r\n”;
4 v7 b& }4 c7 K: b; I: o$out .= “Host: $host\r\n”;
: O$ {; H/ u0 v; j: |$ C9 i$out .= “Connection: Close\r\n\r\n”;& T0 A0 b6 n/ p4 x- D! q, U
$out .= “\r\n”;
& p2 p( N; {5 h5 p( Dfwrite($fp, $out);+ S7 ^# a7 u! O+ _% d" M: n% P, o
$contents=”;6 ^0 ~# O# a2 a
while (!feof($fp)) {; n! u# B9 ?# u: L7 X. i
$contents.= fgets($fp, 1024);& [/ i5 r2 f* D* i9 e# y
}; M$ v/ d+ C8 O7 @
fclose($fp);
! A: R% F0 @& H. jreturn $contents;! r, x2 s! z" v: Z0 K. L
}
8 Q4 L/ k% s* _* c}
1 _; d: J2 ~1 T5 z4 t" l+ d?>7 i. _& h3 {) {' ]
复制代码  M/ G/ W7 i; s
此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
# E' O/ J8 ]0 H& P7 V6 Z  PHP curl_exec() function:% V# q0 S8 {' w1 W+ N' f1 i+ f  K% P- Y
<?php
7 J& n5 F7 k$ N( Y2 M' k/ aif (isset($_POST['url']))
, H% U6 ~, T1 `. ^{
, V! \3 k* N; O. t: ?$link = $_POST['url'];
. P+ \, s3 _# |$curlobj = curl_init();! B/ [* H2 n  q) V# l" L* j$ u
curl_setopt($curlobj, CURLOPT_POST, 0);
8 ]) d1 @. h5 K' D& D4 Mcurl_setopt($curlobj,CURLOPT_URL,$link);, ~4 Q# c( Y: H( U; p5 T( x* X
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);
* l% b/ Z2 J$ r% v$result=curl_exec($curlobj);1 G8 w" r+ G; d2 q
curl_close($curlobj);
6 p. R7 |$ i6 ]5 ~ : f3 l4 t/ L2 Q
$filename = ‘./curled/’.rand().’.txt’;% L) s, a% D& q* R
file_put_contents($filename, $result);
( ^& Y2 J6 R& m$ D1 Mecho $result;
0 W# ]$ j& H. F* x, |0 h4 q- w}  X: M1 c  N  |. S" U
?>- W" d) y& z0 M$ u! y) d
复制代码/ ~0 K. m5 V1 i( U
这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
# o/ ^& {- }& m9 S  `; U9 R在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:# V! C" Q/ G- j/ `1 V1 Y/ x
1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
8 S: X* ?0 S! C) y' V2。开发弱势运行的程序在Intranet或本地Web服务器4 G: k, H  a) n) C/ n: ?- V
3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)# G3 H0 f. c' \5 a. D
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为) L# ]3 a" @" o7 F& L' a
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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