本月初的时候,一条 Log4j 官网发布的漏洞说明引起了各互联网公司的轩然大波,各大公司都在连夜升级修复,毕竟是自己入行以来为数不多亲生经历的一次严重事故,所以简单记录一下: 漏洞说明 2021年12月6日,Apache Log4j2 Java 日志模块存在远程命令执行漏洞可直接控制目标服务器问题,攻击者攻击难度极低。由于 Apache Log4j2 某些功能存在递归解析功能,
0x01命令注入在开发过程中,开发人员可能需要对系统文件进行移动、删除或者执行一些系统命令,这时如果执行的命令用户可控,就会导致命令执行漏洞。1、示例当命令可控时,就可能会导致命令注入,例如以下代码:javaStringcmd=request.getParameter("cmd");Runtime.getRuntime().exec(cmd);这种漏洞原理很简单,主要就是找到执行系统命令的函数,看
原创 2021-11-21 16:21:00
768阅读
原创 2021-11-22 17:19:36
379阅读
--SQL注入 /* 概念 定义:一种代码注入技术,用于攻击基于数据库的应用,基本原理是将SQL语句插入到参数位置执行。 SQL 注入通过应用软件的安全漏洞(比如说用户输入的特殊字符没有被转义、或用户输入不是强类型导致意外执行) 本质:用户输入作为SQL命令被执行 Steps: 1. APP将表格发送给用户. 2. 攻击者将带有SQL注入的参数发送给WEB服务器. 3. APP利用用户输入的数
01 简介JavaScript已经成为现代Web浏览器开发中最普遍的技术之一。之前在《PTES-信息收集》中讲到源代码审计也可能获取到一些敏感信息,但有的测试人员只审计html源代码,而忽略审计js文件里的源代码,今天我们就来讲一讲审计js文件都能获取到哪些信息。02 详解通过审计js文件源代码能获取到的信息,我个人将其分为以下四类:敏感信息、业务逻辑、加密算法、Ajax请求。敏感信息审计js文
前言:在之前的一篇关于​​JAVA SQL注入测试​​ 文章中记录了一些JAVA SQL注入代码审计及测试过程及注意点,近来回头看觉得那仅仅只能作为一个普通场景,漏掉了很多的特殊场景,因此又进一步进行了学习,现将相关笔记内容整理如下。一、Mybatis 注入审计常见流程:1、选择.xml文件,全局搜索${2、从${逆向找到Controller思路(大体思路,实际作为参考):.xml中的id——&g
原创 精选 2022-12-08 23:03:36
1147阅读
一、SQL注入的概念SQL注入是指应用程序对用户输入的合法性没有进行校验或过滤不严导致。二、sql注入的漏洞描述攻击者可以在应用程序中事先定义好的查询语句后面添加sql语句,在运维管理员不知情的情况下实现非法操作,以此来欺骗数据库服务器执行非授权的任意查询的功能,进一步的获取数据库当中的敏感性信息。三、SQL查询语句示例SQL=" select *from '参数或字段' where id =$i
1.sql注入通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。2.sql注入类型按照注入点类型来分类(1)数字型注入点在 Web 端大概是 http://xxx.com/news.php?id=1 这种形式,其注入点 id 类型为数字,所以叫数字型注入点。这一类的 SQL 语句原型大概为 select *
0x01JDBC拼接不当造成SQL注入JDBC有两种方法执行SQL语句,分别为PrepareStatement和Statement,两个方法的区别在于PrepareStatement会对SQL语句进行预编译,而Statement在每次执行时都需要编译,会增大系统开销。理论上PrepareStatement的效率和安全性会比Statement好,但不意味着就不会存在问题。以下是一个使用Stateme
原创 2021-11-17 20:48:03
193阅读
0x00介绍这里主要学习下FreeMarker模板注入,FreeMarker是一款模板引擎,FreeMarker模板文件与HTML一样都是静态页面,当用户访问页面时,FreeMarker引擎会进行解析并动态替换模板中的内容进行渲染,然后将渲染后的结果返回到浏览器中。0x01FreeMarker模板FreeMarker模板语言(FreeMarkerTemplateLanguage,FTL)由4个部分
原创 2021-12-03 20:19:59
2661阅读
0x01 JDBC 拼接不当造成 SQL 注入JDBC 有两种方法执行 SQL 语句,分别为 PrepareStatement 和 Statement,两个方法的区别在于 PrepareStatement 会对 SQL 语句进行预编译,而 Statement 在每次执行时都需要编译,会增大系统开销。理论上 PrepareStatement 的效率和安全性
原创 2021-11-20 10:25:46
122阅读
0x00 介绍这里主要学习下 FreeMarker 模板注入,FreeMarker 是一款模板引擎,FreeMarker 模
原创 2021-12-04 14:54:22
528阅读
JAVA代码审计之SQL注入 https://saas.51cto.com/learner.html#/course/player?courseid=22486&lessonid=543974&fid=555147&type=FILE_PLATFORM&ctype=COURSE_PLATFORM&o ...
转载 2021-10-13 22:10:00
568阅读
2评论
一、SQL注入步骤第一步:SQL注入点探测。探测SQL注入点是关键的一步,通过适当的分析应用程序,可以判断什么地方存在SQL注入点。通常只要带有输入提交的动态网页,并且动态网页访问数据库,就可能存在SQL注入漏洞。如果程序员信息安全意识不强,采用动态构造SQL语句访问数据库,并且对用户的输入未进行有效性验证,则存在SQL注入漏洞的可能性很大。一般通过页面的报错信息来确定是否存在SQL注入漏洞。&n
原创 精选 2023-03-17 15:29:10
2076阅读
目录Sql注入使用PreparedStatement预编译语句对象解决SQL注入攻击 Sql注入SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。以模拟登录为例:在前台输入用户名和密码,后台判断信息是否正确,并给出前台反馈信息,前
0x01 前言 虽然市面上的代码审计的文章已经一大把了,但是还是决定重复造轮子,打算作为一个系列来写的,近年越来越多的安全研究人员投入到php应用的漏洞挖掘,相对应的代码安全问题也被大量的暴露出来,身处这个时代,我很高兴身边的白帽子前辈不断寻求突破并丰富和完善了代码审计这个概念,学到今日,笔者也想总 ...
转载 2021-09-11 07:19:00
354阅读
2评论
# Java代码注入命令注入 在软件开发领域,安全是一个永恒的话题。其中,代码注入命令注入是两种常见的安全漏洞,如果不加以防范,可能会导致严重的安全问题。 ## 代码注入 代码注入是指攻击者通过在应用程序中插入恶意代码,然后执行这些代码来获取对应用程序的控制权。在Java中,代码注入通常发生在动态代码执行时,比如反射、动态类加载等。 下面是一个简单的Java反射示例,展示了代码注入的可
原创 2024-07-07 05:59:17
161阅读
## Java代码命令注入 在编程中,我们经常会使用Java语言来开发应用程序。然而,如果不注意安全性,可能会导致Java代码命令注入的风险。Java代码命令注入是一种安全漏洞,攻击者可以通过在输入中注入恶意命令来执行任意代码。本文将介绍Java代码命令注入的原理、示例代码以及如何防范这种安全风险。 ### 原理 Java代码命令注入通常发生在用户输入与代码执行的交互过程中。攻击者通过在输入
原创 2024-05-31 03:13:56
10阅读
一、区别命令注入:直接执行系统中的指令 代码注入:靠执行脚本来调用系统命令二、命令连接符符号说明注;前后命令依次执行注意前后顺序,若更变目录,则必须在“一句”指令内||前命令执行失败后才执行后命令-&&前命令执行成功后才执行后命令-&前台执行后任务,后台执行前任务如 a&b&c 则显示c的执行信息,a b在后台执行|管道,只输出后者的命令当第一条命令失败时,
1、介绍表达式语言(ExpressionLanguage)简称EL表达式,是一种JSP内置的语言。在JSP中,使用{}来表示EL表达式,例如{name}表示获取name变量。在EL表达式中有两种获取对象属性的方法,第一种为{param.name},第二种为{paramname}2、实例使用实例使用param对象获取用户传入的参数值,这里的{param.name}相当于request.getPara
原创 2021-11-29 18:27:33
333阅读
  • 1
  • 2
  • 3
  • 4
  • 5