Aggregator
新的 DroidBot Android 恶意软件针对 77 个银行加密应用程序
关于针对我国用户的“银狐”木马病毒再次出现新变种并更新传播手法的预警报告
新的 DroidBot Android 恶意软件针对 77 个银行加密应用程序
38C3: Congress Everywhere
Hacking for beginners
CVE-2017-2521 | Apple tvOS up to 10.2.0 WebKit JSObject::ensureLength ensureLengthSlow memory corruption (HT207801 / EDB-42103)
小白生于天地之间,岂能郁郁难挖高危?
记先前某次众测,经过资产梳理,发现所有站点全部都挂了WAF,作为一名不钓鱼的挖洞小白,我估计这次又要空军。
小白生于天地之间,岂能郁郁难挖高危?想要在挂了WAF的站点挖出高危,很难,因为这些站点,你但凡鼠标点快点,检测出了不正确动作都要给你禁IP,至于WAF绕过对于小白更是难搞。其实在众测,大部分漏洞都并非那些什么SQL注入RCE等等,而小白想要出高危,可能也只有寄托希望于未授权。
未授权接口怎么找:
有一种站点,在URL内含有#符号,这种站点的路径接口信息泄露较多,更容易出未授权。
但要注意一点,#后面的东西是不会走服务器的,所以这里如果在findsomething找到了很多东西,拼接的时候带不带#号呢?
这就要区分路由和接口了,如果看着像是路由,在这种原本就有#符号站点,就带上#符号。如果是接口,接口一般是用来进行数据交互的,所以需要走服务器,那就不能拼接#符号。
区分上述后就可以将拿到的东西以POST请求,GET请求都跑一遍,再看是否存在能用的接口,再根据接口返回情况看是否需要添加参数。
这里又是涉及一个很麻烦的点,那就是遇到接口能用,找到参数了,但参数的格式不知道,我这次讲的这个高危就遇到了这种情况,差点错过!
在将现有js里面的接口跑完后还需要注意找js里面的js里面的接口。
这里有两种常见情况:
一、js.map泄露大多webpack打包的站点会有js.map文件,那js.map文件怎么利用呢?
首先需要下载下来:
如上图,右键检查后,在网络处找.js文件,再点击它,在右方找到js文件的路径,并在结尾加上.map访问即可下载。
之后再由reverse-sourcemap工具还原js.map文件,再由vscode等工具打开,进行接口关键字搜查。
如图:
我们如果在数据包或者js文件看到这种格式内容,就可以考虑进一步利用。
首先将所有内容复制出来,再用notepad++打开:
如图进行替换成符合burp里面chunk文件的格式,再放到burp里面跑一遍,配合HAE插件可以提取更加全面的接口信息。
小白找的高危未授权接口:
我也是通过上述方法找到接口后放到burp里面跑,(跑的时候记得加参数),例如接口中有类似id=,url=,wid=等等最好自己加个参数上去。
但就是因为不知道参数类型,我险些错过这个高危漏洞。
如上图第一个接口,因为参数不正确跑出来跟其它接口一个样,不过还好我留意了一下,并且运气好,随手拼的参数居然正确了,直接下载了敏感文件,造成用户全家姓名,电话,住址,工作公司,***等等信息全部泄露。(所以这里注意:对有参数的接口即使一次没跑出信息,也要考虑是否需要对参数进行FUZZ)
并且id参数可遍历,形成大范围用户泄露,高危漏洞到手。
小白生于天地之间,岂能郁郁难挖高危?
CVE-2005-1278 | LBL tcpdump 3.9.1 isis_print infinite loop (EDB-959 / Nessus ID 18276)
警惕!“银狐”木马新变种直接通过微信群传播含病毒压缩包文件;未及时报告数据泄露,OpenAI面临意大利1500万欧元罚款 |牛览
警惕!“银狐”木马新变种直接通过微信群传播含病毒压缩包文件;未及时报告数据泄露,OpenAI面临意大利1500万欧元罚款 |牛览
逆向分析Office VBS宏类型文档
该题目贴合实际,在实战中经常遇到此类宏病毒。
将Office文档中嵌入以VBA(Visual Basic forApplications)编写的宏代码脚本,当运行Office文档时,便可以执行各种命令。
VBA脚本文件重定向能够将脚本默认文件vbaProject.bin进行替换,在打开文本时加载其他文件,增加分析者的分析复杂程度。
1、初步分析在 Office 2007 之后的 Office 文档格式采用的是 OOXML 标准格式。那什么是OOXML 标准?这里的 OOXML 的全称是 Office Open XML File Formats或被称为 OpenXML 格式,这是一个基于 zip+xml定义的文档格式。简单的说就是Office文档是一些xml文档压缩文件,因此我们将一个word文档进行zip解压,可以获得一些xml文件
打开发现是一堆乱码,此时就需要借助大佬们的工具了。
2、oletoolsoletools对该文件进行分析,oletools将宏源码完整的还原了出来。
官网:https://github.com/decalage2/oletools/releases
这里采用pip安装模式
pip install -U oletools运行命令
olevba -c protected_secret.docm > code.vbs 3、分析vbs代码直接搜索:AutoOpen
里面有太多垃圾代码了
首先将输入的flag异或7
有点意思了,解码exe的base64编码,然后运行exe执行操作,最后再删除exe程序
将重要的代码拿出来,然后生成exe
Set fso = CreateObject("Scripting.FileSystemObject")Set objShell = CreateObject("WScript.Shell")
/*
省略了一大堆 base64赋值串
*/
tempPath = "D:\temp11\temp"
Set tempfile = fso.CreateTextFile(tempPath, True)
fso.GetFile(tempPath).Attributes = 2
tempfile.WriteLine xpkdb
tempfile.Close
batPath = "D:\temp11\temp.bat"
Set batFile = fso.CreateTextFile(batPath, True)
fso.GetFile(batPath).Attributes = 2
batFile.WriteLine "@echo off"
batFile.WriteLine "certutil -decode temp1 temp|certutil -decode temp temp.exe"
batFile.Close
Set objExec = objShell.Exec(batPath)
保存为vbs运行,但是我电脑有点小问题没跑运行起来
因此我们采取另一种方法,直接将base64提取出来
代码很简单,将提取出来的代码放进Cyberchef进行提取即可
5、分析exe很简单的代码,就是位移
6、解密 v9 = [0]*54v9[0] = 4288
v9[1] = 4480
v9[2] = 5376
v9[3] = 4352
v9[4] = 5312
v9[5] = 4160
v9[6] = 7936
v9[7] = 5184
v9[8] = 6464
v9[9] = 6528
v9[10] = 5632
v9[11] = 3456
v9[12] = 7424
v9[13] = 5632
v9[14] = 6336
v9[15] = 6528
v9[16] = 6720
v9[17] = 6144
v9[18] = 6272
v9[19] = 7488
v9[20] = 6656
v9[21] = 7296
v9[22] = 7424
v9[23] = 2432
v9[24] = 2432
v9[25] = 2432
v9[26] = 5632
v9[27] = 4416
v9[28] = 3456
v9[29] = 7168
v9[30] = 6528
v9[31] = 7488
v9[32] = 6272
v9[33] = 5632
v9[34] = 3520
v9[35] = 6208
v9[36] = 5632
v9[37] = 4736
v9[38] = 6528
v9[39] = 6400
v9[40] = 7488
v9[41] = 3520
v9[42] = 5632
v9[43] = 5184
v9[44] = 3456
v9[45] = 7488
v9[46] = 7296
v9[47] = 3200
v9[48] = 6272
v9[49] = 7424
v9[50] = 2432
v9[51] = 2432
v9[52] = 2432
v9[53] = 7808
flag = ''
for i in range(54):
flag += chr(v9[i] >> 6 ^ 7)
print(flag)
逆向分析Office VBS宏类型文档
《2023-2024网络安全产业发展核心洞察与趋势预测》报告发布(附报告下载二维码)
《2023-2024网络安全产业发展核心洞察与趋势预测》报告发布(附报告下载二维码)
一个0day的开端-失败的man与nday
最近在审计java的CMS,跟着文章进行nday审计,找准目标newbee-mall Version1.0.0(新蜂商城系统),并跟着网上文章进行审计:
https://blog.csdn.net/m0_46317063/article/details/131538307
下载唯一的版本,且源码README中版本也对的上,但没想到nday全部复现失败,但在一番审计后找到了一个新的漏洞点:ssrf,且在前台可以被用户触发。
失败的man与nday:
失败的sql注入漏洞:
(此漏洞原本可以在前台与后台进行sql注入攻击)
分析文章中有两sql注入漏洞,是由于引入mybatis依赖导致,但在我下的版本中根据关键字符${找不到任何的注入点,经过与分析文章对比发现所有注入点全部由${改成了#{由此完成修复。
失败的权限绕过:
(此漏洞原本可以在admin登录后台通过/;/admin/test完成权限绕过)
复现文章写到以request.getRequestURI()获取路径获取路径后再进入if判断:
但我下载的版本进行了修复:将获取前端传输的路径方法改为了:getServletPath()从而完成修复。
两种方法的不同具体分析可以参考如下文章:
https://forum.butian.net/share/3730
失败的越权漏洞:
(此漏洞原本可以根据传入的id参数越权修改他人信息。)
定位到具体代码:
此处代码与复现文章一样,都是先创建一个NewBeeMallUserVO对象,再通过是否为空判断信息修改是否成功。
真正修改信息的代码在updateUserInfo方法里面,于是跟进该方法实现处:
发现跟到了接口,于是我们继续跟进,找该接口的实现类:
跟进到如下类,找到具体实现的代码块:
复现文章代码在进入if判断前只有一行代码,并且代码逻辑是从前端传入的id值进行信息修改,但可以看到我下载的代码有两行:
NewBeeMallUserVO userTemp = (NewBeeMallUserVO)httpSession.getAttribute(Constants.MALL_USER_SESSION_KEY);
首先通过http.Session获取当前用户,再赋给创建的userTemp对象。
MallUser userFromDB =mallUserMapper.selectByPrimaryKey(userTemp.getUserId());
再从userTemp对象中获取id值进行信息修改,而非从前端请求中获取参数id的值,来完成漏洞修复。
0day的发现:
登录后台,点击修改或者添加商品:
随意传入图片后点击保存并抓包。
将POST数据包如上两个参数修改为dnslog地址,放包,在商城前台搜索该商品名称。
点击访问,dns平台出现记录。
漏洞代码分析:
先看看商品信息存储过程:
根据接口定位代码块:
可以发现在接受参数后进行是否为空判断后进入了核心方法updateNewBeeMallGoods,跟进:
跟到接口后再找到接口实现类,最后定位到更新信息代码块。
可以看到,仅仅对传入参数值进行为空判断和相同判断后,便调用set方法进行存储。
接下来再看看商品信息调用代码链。
根据触发漏洞的数据包接口定位代码块:
此处代码根据传入goodsid参数,将商品渲染到前端,也就是搜索商品后,见到商品那刻触发漏洞。
对接受goodsid参数是否<1判断后进入取商品信息代码。
跟进getNewBeeMallGoodsById方法,找到方法接口后再找接口实现类,再找方法:
发现goodsid参数传入selectByPrimaryKey方法。
该方法通过数据访问对象(DAO)goodMapper调用,且在方法最前处由NewBeeMallGoodsMapper对其定义:
全局搜索,找到对应xml文件:
发现通过id参数对数据库操作,取出goodsCoverImg与goodsCarousel参数。
回到最先前的类:
此时goods对象已经获取商品相关参数值。
再进入if判断商品是否上架,上架则进入下一轮代码,将商品信息封装为视图模型,找到NewBeeMallGoodsDetailVO类,发现只接受了goodsCoverImg参数,也就是先前抓包修改处只用修改该参数即可:
最后返回视图名称"mall/detail",表示渲染商品详情页面:
由于存储时未做任何过滤,进行视图层渲染时直接拿出goodsCoverImg参数放到前端,导致用户一旦访问商品便触发该漏洞。