小迪安全代码语言回溯

2024-06-11 20:04

本文主要是介绍小迪安全代码语言回溯,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

java安全

第一个就是文件上传,可以通过../上传到上一级目录,以及别的目录,避免本目录不可以执行

jw令牌窃取

令牌由三部分组成,以.号分割,在java的程序看到cookie是三个奇怪的字符串以.号分开,可以确定是jwt令牌,可以拿去专门的网站拿去解密

然后攻击方式,在对方支持空密钥的时候,直接空密钥攻击

不支持空密钥的时候就爆破密钥

如果运用到了其他的功能,比如在令牌解密后多了一些参数,找到对应参数的功能是什么,根据功能会造成漏洞,比如读取就会造成任意文件的读取,他也可能通过sql语句读取的内容,那就造成了sql注入

目前大概了讲了那么多专属的漏洞,其他的都是通用漏洞,java反序列化等有一个姐课专门讲

js安全

js源代码可以直接查看到,在js中也存在参数和函数。当存在可控的参数以函数时候,即可造成漏洞,他的区别就可以看到源代码。相当于白盒测试

案例一:

插件,看到js框架,就用到了js源码

网站搭建可能用到混杂,或者纯一个代码搭建,混杂就是多个代码这样

这种涉及到js的测试看看是不是前端代码编写

访问一个网站抓包,看名字app,还是js文件,点开看有网站前端的内容,判断是js代码编写的,还可以继续往下看,能不能逻辑严重,直接关键字搜索需要,比如验证绕过,搜验证码

那家抓包,拦截返回包,修改js参数的值来实现绕过

就做到了任意账号密码充值

也可以,实现任意账户密码重置,但是在这里点重置密码的时候显示流程错误

继续分析js代码,分析了一下还是检测cod值回显

直接秒

这个看弹幕应该是小迪翻车了,只绕过了前端认证,后端没有改,应该是修了,上一期成功了

案例一(菠菜):

点在线咨询,然后复制url,到浏览器访问一下,就发现了是前端开发

分析一波js逻辑

但是这一看验证的很安全,又不能直接禁用js插件,不然正常功能也受限制了 ,那就只禁用验证这一块

办法;直接右键另存为,把代码下载下来

然后没有下载下来,发现是外联的一个js

然后继续分js代码,发现视频没有验证

直接传视频的时候,上传php文件

上传成功了,但是没有地址,看看属性里面有没有显示地址,没有,那就抓包看看,也没有,直接开全抓包工具可以看到,

但是这个php不解析,但成功上传了

判断是js代码的方法

插件wappalyzer

源代码简短

引入多个js文件

一般有/static/js/app.js 等顺序的js文件

cookie中有connect.sid(因为node.js开发)

开发框架-Vulhub-Node.JS安全
漏洞分析

这个直接vluhub搭建环境就行

原因是 Node.js 8.5.0 对目录进行normalize操作时出现了逻辑错误,导致向上层跳跃的时候(如../../../../../../etc/passwd),在中间位置增加foo/../(如../../../foo/../../../../etc/passwd),即可使normalize返回/etc/passwd,但实际上正确结果应该是../../../../../../etc/passwd。

express这类web框架,通常会提供了静态文件服务器的功能,这些功能依赖于normalize函数。比如,express在判断path是否超出静态目录范围时,就用到了normalize函数,上述BUG导致normalize函数返回错误结果导致绕过了检查,造成任意文件读取漏洞。

当然,normalize的BUG可以影响的绝非仅有express,更有待深入挖掘。不过因为这个BUG是node 8.5.0 中引入的,在 8.6 中就进行了修复,所以影响范围有限。

代码分析

然后构造恶意pyload即可

让他去包含etc/passwd,就实现了目录穿越

等等在来学习

jian

kang

这篇关于小迪安全代码语言回溯的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.