让loop防下载形同虚设

2023-10-11 00:10
文章标签 下载 loop 形同虚设

本文主要是介绍让loop防下载形同虚设,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

让LOOP防下载形同虚设直接拿Shell
来源:网络         审核:admin         发布时间:2012-12-01
http://aq.3aj.cn/article/3/12890.html

题目:让LOOP防下载形同虚设直接拿shell--分析沸腾新闻多媒体展望系统V1.2 0Day
作者:莫ㄨ问[B.H.S.T]& 李宓 [L4nk0r]
来源:L4nk0r'S Blog
此文章已发表在《黑客手册》2009年第9期杂志上,后经作者发布在博客上,如转载请务必保留此信息

L4nk0r:为方便大家阅读,最后提供文件打包下载
事情缘由:
暑假一个人在家看书,在浏览一个网站的时候总感觉这个网站的整体页面很像一套系统.于是就查了真是沸腾展望新闻系统.记得早起这个系统存在很多漏洞.这不马上到其官方网站下载了最新版本V1.2 Build1版.此版本相对之前的版本安全性已经提高了很多,但是在阅读代码过程中还是发现了一些不足来特来和大家分享,下面对漏洞的形成做下分析,漏洞本身没什么,注意思路.

一.注册页面跨站甚至插马
注册跨站甚至写入木马,漏洞文件adduser1.asp和saveuser.asp
在adduser1.asp用户注册通过简单的javascript来判断username表单是否含有非法字符(在savauser.asp中同样过滤了,所以username字段没办法利用).程序员太过于相信Javascript了.导致用户可以输入恶意代码提交到数据库,代码如下(savauser.asp文件,这里略去部分无关代码)

sex=request.form("sex") // 这里没有任何过滤,可以通过本地提交表达
birthyear=request.form("birthyear") //同上
birthmonth=request.form("birthmonth") // 同上
birthday=request.form("birthday")
depid=ChkRequest(request.form("depid"),1) '防注入,这里用ChkRequest()来防注入,跟进
photo=request.form("photo")

很明显上面这些参数中除了一个depid过滤了其他都直接获取了并且后面直接更新到数据库了.我们知道Javascirpt可以本地提交绕过,所以跨站也就没有问题了.但是在测试时候发现不行,好在仔细查看包含的文件,我明白程序员为什么这么”自信”了.看到ChkURL.asp,代码如下:

server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 then
-------------------------------后面一堆提示---------------------------------------

利用REFERER禁止本地提交.还是老思路,构造Referer即可.这里我通过WinSock Expert抓包然后NC来修改数据提交就可以了.这里不做讲解,当然这个漏洞配合后面的使用也是可以的.
二.致命伤-<%loop<%形同虚设直接拿shell
1.成因分析
   直接打开数据库/data/news3000.asp数据库默认是asp格式的(相信没有站长会把它改成mdb的).这个是后面利用的前提.我们本地改成mdb的打开,发现里面有一张表,如图1:

NotDownload表,其内容显示为:”长二进制数据”,就是这个表导致我们访问数据库的时候出现如图2提示:

的原因Loop是asp中的循环语句,其实在数据库中那一串长二进制数据就是<%loop<%的十六进制形式3C25206C6F6F70203C25.我们可以通过UltraEdit十六进制形式打开它,然后搜索<%就会发现如图3:

知道asp语法的人看到这里应该都明白为什么会有如图2提示了把.所以当你插入一句话的时候就会脚本无法闭合的问题.另外<%loop<% 这种是无法闭合的.下面是关键思路:既然无法闭合,我们是否能够注释掉?想到这里,我们就会想到单引号,没错就是它-ASP的注释符,但是前提是,要能够在他之前插入一个<%’;x (即,

<%&amp;amp;#39;x
这里的x可以是其他字符,是为后面字符转换成unicode编码用的.) 另外,还要在<%loop<%后面插入一个%>x(这里X也是同理)才能让其和前面插入的闭合.这样就可以注释掉<%loop<%这个不可能闭合的问题了.我们整理一下思路:就是在

<%loop<%
前后的合适位置插入一段可以闭合的代码,并且将在这2个闭合符号中间的内容注释掉就即可.思路有了..就可以操作了.另外说明下,当你用UltraEdit十六进制形式打开数据库时搜索<%如果不是<%loop中的那个,就证明这里可以插入前置闭合符,同理,后置闭合符也可以这样判断.思路清晰了,我们来看看实例操作.
二.实例演示-沸腾展望新闻系统V1.2 0day
打开/data/news3000.asp数据库发现,普通用户可以添加的数据表有:

引用
1. attach表     --文件上传方式
2. FT_User表    --通过注册(配合漏洞1的注册跨站使用)
3. Link表       --友情链接申请
4. News表       --发布新闻
5. Review表     --评论新闻
6. UploadPic表 --上传图片

通过穷举法,多次测试发现,前置闭合符可以在Link表中插入,而后置闭合符可以在Review表中插入,其他表有兴趣的可以自行测试下.默认情况下,系统的友情链接和回复(游客都可以)是开启的.对于友情链接关闭申请就只能通过其他表了,这里只是举个例子,可以按思路举一反三.ok,不废话直接按如图4填写(这里也是Javascript判断后直接插入数据库)

网站名称”

┼攠數畣整爠煥敵瑳∨∣┩愾┼砧

是经过lake2编写的a2u4hack.exe工具转换成Unicode编码,它原型是:

&amp;lt;% execute request(&amp;quot;#&amp;quot;)%&amp;gt;a&amp;lt;%&amp;#039;x
,如图5:

这里要注意的是在转换过程中不能出现?,这就是我刚才为什么加一个x的原因了.然后直接提交,不管管理员是否审核不影响.再次UltraEdit十六进制形式打开搜索<%发现如图6:

发现第一搜索到的是如图6,也就是说已经成功的插入前置闭合符.现在插入随便首页点一个文章,点击下面的”相关评论”选择游客,然后在内容那输入如图7:
 

内容为: “┠ 砾 “同理也是经过a2u4hack.exe工具编码的,它的原型是: %>x 这样以后提交就可以提交到数据库并且完美的注释掉

<%loop<%.

所有的工作完成后我们看下结果.如图8:

成功插入一句话木马,也成功链接了直接拿到WebShell.另外.当然程序还存在一些不足,有兴趣的朋友可以自己挖掘.对于这个思路,当如果你并不能如此的完美的插入木马,我们是否也想过通过此方法来过滤掉一些上传后缀限制的数据然后通过上传来拿webshell呢?好了,思路就这样,大家灵活应用.官方演示网站关闭了友情链接我们就不做测试了,必竟只是提供大家一种思路而已.
     本次的分析到此结束了, 对于此漏洞危害较大,请勿做非法行为.有任何问题可以到黑手论坛与我讨论或者E-mail:awolf858@gmail.com.

这篇关于让loop防下载形同虚设的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/184107

相关文章

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

2. 下载rknn-toolkit2项目

官网链接: https://github.com/airockchip/rknn-toolkit2 安装好git:[[1. Git的安装]] 下载项目: git clone https://github.com/airockchip/rknn-toolkit2.git 或者直接去github下载压缩文件,解压即可。

前端form表单+ifarme方式实现大文件下载

// main.jsimport Vue from 'vue';import App from './App.vue';import { downloadTokenFile } from '@/path/to/your/function'; // 替换为您的函数路径// 将 downloadTokenFile 添加到 Vue 原型上Vue.prototype.$downloadTokenF

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

Tomcat下载压缩包解压后应有如下文件结构

1、bin:存放启动和关闭Tomcat的命令的路径。 2、conf:存放Tomcat的配置,所有的Tomcat的配置都在该路径下设置。 3、lib:存放Tomcat服务器的核心类库(JAR文件),如果需要扩展Tomcat功能,也可将第三方类库复制到该路径下。 4、logs:这是一个空路径,该路径用于保存Tomcat每次运行后产生的日志。 5、temp:保存Web应用运行过程中生成的临时文件

下载/保存/读取 文件,并转成流输出

最近对文件的操作又熟悉了下;现在记载下来:学习在于 坚持!!!不以细小而不为。 实现的是:文件的下载、文件的保存到SD卡、文件的读取输出String 类型、最后是文件转换成流输出;一整套够用了; 重点: 1:   操作网络要记得开线程; 2:更新网络获取的数据 切记用Handler机制; 3:注意代码的可读性(这里面只是保存到SD卡,在项目中切记要对SD卡的有无做判断,然后再获取路径!)

最新OpenStreetMap POI数据(附下载教程)

OSM(OpenStreetMap)POI(Point of Interest)数据是指在OpenStreetMap上标记的各种兴趣点,如餐馆、酒店、公交站、学校等地点。这些数据在地理信息系统(GIS)应用中非常有用,可以帮助进行地图绘制、路径规划以及其他地理分析任务。 这里直接放出下载地址,有需要的可以自行下载,tips:国外城市的数据源质量比国内的要高一些; OpenStreetMap P

PrestaShop免费模块/插件/扩展/工具下载

PrestaShop免费模块/插件/扩展/工具下载 PrestaShop免费模块 适用于您的电子商务网站的PrestaShop模块 现有超过3,000个PrestaShop模块可帮助您自定义在线商店,增加流量,提高转化率并建立客户忠诚度。 使您的电子商务网站成功! 下载(超过142+之多的PrestaShop官网认证的免费模块) 标签PrestaShop免费, PrestaShop免费工

uniapp小程序下载缓存服务器上的图片

1. 使用uni.downloadFile,但是注意下载图片的地址里的域名,需要在微信公众平台里面的downloadFile合法域名进行配置。 export default function downloadAndCacheImage(imageUrl, name) {return new Promise((resolve, reject) => {console.log("imageUrl",

http网络请求与下载进度

Http_request 目录 一、XMLHttpRequest 在使用 Fetch API 进行网络请求时,原生的 Fetch API 并不直接支持获取下载进度的功能,因为 Fetch API 主要是基于 Promise 的,它主要关注于请求的成功或失败,以及响应数据的处理,而不直接处理像进度跟踪这样的底层细节。 不过,你可以通过一些技巧或方法间接实现下载进度的跟踪。以下是一些常用的方法: