小迪安全代码语言回溯

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

相关文章

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允