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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2013-2-16 21:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多Web应用程序提供的功能将数据从其他Web服务器,由于种种原因。下载XML提要,从远程服务器,Web应用程序可以使用用户指定的URL,获取图像,此功能可能会被滥用,使制作的查询使用易受攻击的Web应用程序作为代理运行在远程攻击其他服务的基于文本的文件等。 /本地服务器。通过这种滥用而产生的功能被命名为攻击,跨站点端口的攻击(XSPA)。% `" `: O" x! f* ~* S" k
XSPA(SSPA)是什么?
, A, M1 q7 M, Z. R5 |! k! p7 A如果应用程序处理用户提供的URL和不验证/消毒后端从远程服务器接收到响应,然后将其发送回客户端应用程序是容易受到跨站点端口的攻击。攻击者可以通过发送特制的查询到一个易受攻击的Web应用程序代理攻击,面临的外部Internet服务器,内网设备和Web服务器本身易受攻击的Web应用程序使用的广告功能。的反应,在某些情况下,可以进行研究,以确定服务的可用性(端口状态,横幅等),甚至在非传统的方式获取数据的远程服务。! v. Z4 ~0 p" `
PHP fsockopen() function:
9 c, o% p$ `/ T& c( m3 C$ ~<?php! H. k4 X+ o! G8 F$ b8 @  q: _, {
function GetFile($host,$port,$link)7 B% W2 F5 [1 k' N' F* t( z7 L: _
{/ v/ v. K& E% j1 c5 b0 E6 b
$fp = fsockopen($host, intval($port), $errno, $errstr, 30);; q8 R8 q8 h6 K( v
if (!$fp) { " d2 U* |: Z1 d7 C0 F  U  h
echo “$errstr (error number $errno) \n”;
# t- d1 O1 J& H8 \} else {
; k+ e% K+ G% t2 P7 @7 [! e/ u7 |1 E$out = “GET $link HTTP/1.1\r\n”;7 t% r# [$ g0 y- T: F
$out .= “Host: $host\r\n”;* ?$ g2 N, g3 V( Y
$out .= “Connection: Close\r\n\r\n”;
0 Y- [! t) l4 M/ w9 u6 }! B9 N$out .= “\r\n”;( B9 \. E7 R/ o3 m; e& z% l
fwrite($fp, $out);
; B# P, ~' R0 u# M8 y9 _2 V" ~$contents=”;# ]! J- }2 G6 a1 B
while (!feof($fp)) {, Q& L1 G9 g& G
$contents.= fgets($fp, 1024);
8 c( |  H0 @) _0 L* \6 L# E8 `. u- n}; |5 N. k( }% [, M
fclose($fp);
2 m/ g& O# {! u& h1 L) [) qreturn $contents;6 k4 V4 z  v! a- f( X. u
}. b1 K8 C$ {/ j
}
9 S" q" O* t0 x0 Y5 x5 l3 J( k?>' r" W# }" `, Y* s2 Y) {# g
复制代码
2 @# B! z, P) x% [/ S, r6 R此实现获取数据,如由一个用户使用的fsockopen PHP函数(任何文件或HTML)请求。此功能建立一个TCP连接的套接字的服务器上,并进行原始数据传输。
" j( L# c! r2 c, N, n$ ?6 F* a  M7 c/ r  PHP curl_exec() function:
8 ^7 b6 J4 x4 N" v9 B9 p: _* t<?php
) @. I$ i# U7 aif (isset($_POST['url']))  x4 _/ _1 l6 Z- Q% l
{. ?6 K; a0 i- R$ o, y) ?  B: \
$link = $_POST['url'];
- Q+ y/ q1 c- k& p! S: B9 d  ^$curlobj = curl_init();
/ y: i9 i/ P! _! bcurl_setopt($curlobj, CURLOPT_POST, 0);, M; `7 c! f2 S: T) ^3 B& A
curl_setopt($curlobj,CURLOPT_URL,$link);0 v+ P* M5 H* b. s
curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, 1);( x4 r) B, K; x" x( m* E! ^6 d
$result=curl_exec($curlobj);4 F, I% M% u" V! Y0 q, u
curl_close($curlobj);
  q# @+ B" o) ~& z& ~ . M5 c" }' S, d$ N
$filename = ‘./curled/’.rand().’.txt’;5 Y- s3 D" `" ^6 g+ J. K
file_put_contents($filename, $result);
4 W; z' ~, {4 Y" Fecho $result;5 b- g- b* o* K, J! Y
}
" s; a' k2 @) H$ M5 }- T?>! i7 N% l& z, r( n/ q( o
复制代码
  t: A! m* ~6 P5 P7 E: E- f这是另一种非常常见的实现,通过PHP使用curl获取数据。“卷曲”文件夹下的文件/数据下载并存储到磁盘,并附加一个随机数“。txt’结尾的文件扩展名。
. B" j0 H% d+ U在本系列的下一部分,我们将看到一些可以启动的攻击使用此vulnerbility。XSPA允许攻击者在目标服务器基础设施,主要是内网的Web服务器,Web服务器本身,以及面向互联网的服务器以及。目前,我已经遇到以下五种不同的攻击方式,可以启动使用XSPA:
7 g% R& I! Y7 ~% c: G( e1。端口扫描远程互联网服务器,内网设备和本地Web服务器本身。横幅敛也有可能在某些情况下,
3 U) p7 f2 z* Q% r4 B2。开发弱势运行的程序在Intranet或本地Web服务器
* L+ K0 R: c( n9 X5 o3 k$ d3 `  o# S3。攻击内部/外部Web应用程序很容易通过URL来获取参数的漏洞(SQLI,参数操作等)) W+ c7 Q( S) F8 ]* u
4。指纹图谱的Intranet Web应用程序使用标准的应用程序的默认文件及行为8 m0 v+ X1 q$ T/ _' ^. _6 y
5。阅读使用file :/ / /协议处理程序的本地Web服务器上的文件。
回复

使用道具 举报

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

本版积分规则

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