![](https://img-blog.csdnimg.cn/9d80f03b5a2f49a292ac5f50f378c7c1.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
代码审计
文章平均质量分 87
代码审计
OceanSec
知其黑,守其白
展开
-
初见CodeQL
CodeQL 的核心引擎是不开源的,这个核心引擎的作用之一是帮助我们把要审计的代码文件转换成CodeQL能识别的中间层 AST 数据库,然后我们需要编写 QL 查询语句来获取我们想要的数据,由于 CodeQL 开源了所有的规则和规则库部分,所以我们能够做的就是编写符合我们业务逻辑的 QL 规则,然后使用 CodeQL 引擎去跑我们的规则,发现靶场的安全漏洞。在代码自动化安全审计的理论当中,有一个最核心的三元组概念,就是(source,sink和sanitizer)运行之后,会在最后提示下一步要执行的命令。原创 2024-01-25 17:31:12 · 1114 阅读 · 0 评论 -
Java安全-Java In CTF([红明谷CTF 2021]JavaWeb、[红明谷CTF 2021]JavaWeb)
文章目录[RoarCTF 2019]Easy Java[红明谷CTF 2021]JavaWeb[RoarCTF 2019]Easy Java存在文件下载,尝试去读 WEB-INF/web.xml,get 传参发现一直失败在 burp 中改为 post 传参,可以正常下载文件只要再去读 class 文件即可成功下载 class 放到 idea 中,拿到 flag[红明谷CTF 2021]JavaWeb题目提示 /login 目录,访问提示 /json访问 /json 跳回到 /lo.原创 2022-05-05 14:15:02 · 2265 阅读 · 0 评论 -
Java安全-Java In CTF([网鼎杯 2020 青龙组]filejava、[网鼎杯 2020 朱雀组]Think Java)
文章目录[网鼎杯 2020 青龙组]filejava[网鼎杯 2020 朱雀组]Think Java[网鼎杯 2020 青龙组]filejava存在一个 UploadServlet通过修改上传文件名,构造报错输出 web 目录正常上传文件/DownloadServlet?filename=ac6b647b-b31a-4ee7-8b86-9bbdba110a71_1.jpg尝试任意文件读取,对于 Java 项目来说可以尝试读取 /WEB-INF/web.xml 配置文件正常来说 web..原创 2022-05-04 21:47:18 · 2189 阅读 · 1 评论 -
Java安全-Java Web后门学习 Jsp 一句话分析
文章目录Java Web后门一句话木马反射调用类加载(冰蝎马实现方式)ELSE参考Java Web后门Java 是强类型语言,不能够像 PHP 那样利用字符串组合当作系统函数使用Java 中常用的命令执行函数java.lang.Runtime.exec()java.lang.ProcessBuilder.start()一句话木马最简单的 jsp 一句话木马<% Runtime.getRuntime().exec(request.getParameter("i"));%>.原创 2022-05-03 15:39:21 · 2398 阅读 · 0 评论 -
Java代码审计之路二(SSRF漏洞审计)
SSRFJava 网络请求支持的协议,包括:http、https、file、mailto、jar、netdoc,但是相对 PHP 可以利用很多伪协议来说 Java SSRF 还是略显单调补充:mailto:是一个用于发送邮件的 URL 协议jar:Jar URL协议解析,协议可以用来读取 zip 格式文件(包括 jar 包)中的内容netdoc 协议:在大部分情况下可代替 file虽然支持多种协议,但是 Java 的 SSRF 利用方式比较局限,一般只用以下两种方式利用 file 协议任原创 2022-05-02 16:31:53 · 1942 阅读 · 0 评论 -
Java代码审计之路一(OFCMS)
开启 Java 审计之路,从最基础的项目开始文章目录OFCMS搭建环境漏洞分析模板注入文件上传XSSXXE参考:OFCMS搭建环境下载链接导入项目使用 idea 导入文件,注意这里是导入不是直接打开import project 与 open 的区别:import project:如果项目不是用 idea 开发的,用 import 打开。因为这个情况下,这个项目不是 idea 模型,使用 import 可以避免许多不必要的麻烦。open:如果项目之前就是 idea 开发的,直接用 o原创 2022-05-01 11:22:03 · 931 阅读 · 1 评论 -
安全技术&工具扫盲
安全技术SAST - 静态应用安全测试(白盒检测)DAST - 动态应用安全测试(黑盒检测)IAST - 交互式应用安全测试(灰盒检测)RASP - 运行时应用自我保护Dependency Scanning(依赖项安全扫描)Secrets Detection(机密信息检测)八款免费开发安全测试工具安全工具SnortSnort 是一个免费的、开源的网络入侵防御和检测系统。它使用基于规则的语言,执行协议分析、内容搜索/匹配,并可用于检测各种攻击和探测,如缓冲区溢出、隐形端口扫描、CGI.原创 2022-04-27 17:54:05 · 1632 阅读 · 2 评论 -
TP5 框架 SQL 执行流程分析及 5.0.9 SQL 注入漏洞分析
文章目录SQL查询流程TP 5.0.9 SQL注入修复SQL查询流程TP5手册:https://www.kancloud.cn/manual/thinkphp5/118044在分析 tp5 漏洞之前,先来看一看 tp5 在查询时的流程,与 tp3 有什么异同,写一个控制器<?phpnamespace app\index\controller;class Index{ public function index() { $name = Input("na.原创 2022-01-18 22:06:49 · 3809 阅读 · 1 评论 -
Java代码审计-CC1 LazyMap Chains
lazyMap chainsLazyMap 和 TransformedMap 类似,都来自于 Common-Collections 库,并继承 AbstractMapDecoratorLazyMap 的漏洞触发点和 TransformedMap 唯一的差别是,TransformedMap 是在写入元素的时候执行 transform,而 LazyMap 是在其 get 方法中执行的 factory.transform 。其实这也好理解,LazyMap 的作用是“懒加载”,在 get 找不到值的时候,它.原创 2022-01-16 16:11:48 · 2703 阅读 · 0 评论 -
Java代码审计-CC1 Chains
有关环境配置和IDEA调试可以看上一篇文章,电梯分析Java集合框架Java集合框架是对多个数据进行存储操作的结构,其主要分为Collection和Map两种体系:Collection接口:单例数据,定义了存取一组对象的方法的集合Map接口:双列数据,保存具有映射关系“Key-value”的集合Apache Commons Collections:一个扩展了Java标准库里集合框架的第三方基础库。它包含有很多 jar 工具包,提供了很多强有力的数据结构类型并且实现了各种集合工具类先来看通过.原创 2022-01-14 16:27:59 · 1388 阅读 · 0 评论 -
IDEA 调试 Maven 项目,为分析 CC1 做准备
IDEA调试高版本的 jdk 会修复一些漏洞,所以要分析漏洞需要用到多个版本的 jdk ,在分析漏洞之前首先了解 windows 安装多 jdk 环境在官网可以下载历史版本的 jdk 安装包,地址,下载之后双击安装即可,为了管理方便可以把它们安装在同一个目录下在 CC1 链中使用 8u65 就好,下面新建项目并配置 jdk替换源码因为 Java 中有一部分代码在 idea 中是通过反编译看到的,不太好看,可以使用开源代码替换下载链接:https://www.aliyundrive.com/s.原创 2022-01-14 16:25:31 · 1268 阅读 · 0 评论 -
PHP代码审计之再探 TP3 漏洞
之前写过关于 TP 漏洞的文章,只是时间久远,记忆不是很深刻,这次来复习温故知新文章目录TP 3.2 信息泄露配置环境日志信息泄露缓存泄露指纹识别TP 3.2错误写法导致SQL注入exp 表达式TP 3.2 update\bind注入TP 3.2 find注入TP 3.2 信息泄露配置环境数据库连接配置# application/home/controller/IndexController.class<?phpnamespace Home\Controller;use Think.原创 2022-01-13 22:03:03 · 1474 阅读 · 0 评论 -
PHPStorm配置PHP调试环境,xdebug调试原理
之前的调试环境有一点混乱,所以决定重新配置一遍,写这篇文章记录出现的问题,希望能够帮助到你们搭建环境windowsphpstudy apache/nginx php7.3phpstormxdebug + chromephpstudyPHP集成环境,下载链接用它主要是因为配置简单,图形化界面xdebug先来介绍下xdebug是啥PHP目前有两种流行的调试器Xdebug(本次就是用的它)Zend DebuggerXdebug是一个PHP扩展,它采用DBGp协议,提供了对P原创 2021-10-25 23:08:35 · 2073 阅读 · 0 评论 -
CTFshow刷题日记-WEB-代码审计(web301-310)SQL注入、SSRF打MySQL、SSRF打FastCGI、SSRF文件读取
web301-SQL注入下载源码,在checklogin.php页面存在SQL注入$_POST['userid']=!empty($_POST['userid'])?$_POST['userid']:"";$_POST['userpwd']=!empty($_POST['userpwd'])?$_POST['userpwd']:"";$username=$_POST['userid'];$userpwd=$_POST['userpwd'];$sql="select sds_password fr原创 2021-10-03 10:46:23 · 3525 阅读 · 0 评论 -
PHP漏洞利用工具开发,PHPcms二次开发,PHPcms,DEDEcms简单代码审计
PHP工具开发文章目录PHP工具开发PHP小马一句话木马PHP大马分析实现大马后门编写大马PHP的cms二次开发PHP常见CMS的漏洞分析PHPstorm调试模式PHPCMSv9.2上传漏洞PHPCMSv9.6.0文件上传PHPCMSv9.6.0wap端sql注入PHPCMSV9.6.1任意文件读取PHPcmsv9暴力破解备份数据库名DEDECMS漏洞分析DEDECMS重装漏洞DEDECMS远程文件包含DEDECMSdownload文件SQL注入DEDECMSrecommend文件SQL注入PHP小马原创 2021-09-17 22:33:20 · 5764 阅读 · 0 评论 -
PHP小马,大马实现分析编写
PHP工具开发PHP小马简单隐藏登陆密码实现写入文件<?php$pass = '14e1b600b1fd579f47433b88e8d85291'; #123456$get = $_GET['pass'];if (!empty($get)) { if (md5(md5($get))) { if (!empty($_POST)) { $path=$_POST['filepath']; $content=$_P原创 2021-03-15 20:09:21 · 16283 阅读 · 0 评论 -
Think PHP错误写法导致SQL注入漏洞代码分析
Think PHP错误写法导致SQL注入后端代码# application/home/controller/IndexController.class.php<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller{ public function index(){ $username=I("username"); /原创 2021-03-25 16:50:03 · 12918 阅读 · 0 评论 -
ThinkPHP框架信息泄露
Think PHP 3.2 信息泄露配置环境数据库连接配置# application/home/controller/IndexController.class<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller{ public function index(){ $data=M("admin")->select();原创 2021-03-22 18:59:30 · 13417 阅读 · 2 评论 -
YXcms(mvc架构php的cms)简单学习与审计
YXcms(MVC)YXcms 1.4.7熟悉MVC架构路由方式通过一个 r 的文件指针进行路由参数传递in($_GET[])...... public function test() { $param=in($_GET['a']); var_dump($param); }......$_GET 接收值,通过 in 进行过滤in 函数//数据过滤函数库/*功能:用来过滤字符串和字符串数组,防止被挂马和sql注入参数$dat原创 2021-04-05 22:01:41 · 15439 阅读 · 1 评论 -
PHP代码审计demo之熊海cms
php漏洞的利用依赖PHP版本、Web中间件版本与类型、操作系统类型和版本以及这些软件的配置等多因素,一下环境为:wamp(win10+apache2.4.39+mysql5.7.26+php5.2.17)代码审计的四种方式:1.函数回溯2.追溯变量3.功能点4.通读全文这四种方法各有优缺,通读全文法会对整个cms体系有更深刻得了解,可以发现更隐秘的漏洞,以及逻辑漏洞。根据敏感函数来逆向追踪参数的传递过程,是目前使用得最多的一种方式,因为大多数漏洞是由于函数的使用不当造成的。下图为 熊海cm原创 2020-08-16 22:57:54 · 11397 阅读 · 1 评论