[roarctf 2019]easy java
时间: 2023-04-28 20:00:41 浏览: 62
这是一道Java反序列化的题目,需要我们构造一个恶意的序列化数据来执行任意代码。
首先,我们需要找到一个可利用的类,这里我们可以使用`CommonsCollections4`这个类库,它包含了很多可利用的类,比如`InvokerTransformer`、`ConstantTransformer`等等。
然后,我们需要构造一个恶意的序列化数据,这里我们可以使用`ysoserial`这个工具来生成,具体使用方法可以参考官方文档。
最后,我们将生成的序列化数据发送给服务器,即可执行任意代码。注意,这里需要将序列化数据进行base64编码后再发送。
完整的解题过程可以参考以下链接:
https://www.cnblogs.com/lsdb/p/11584244.html
相关问题
[roarctf 2019]easy java 1
这是一道Java反序列化的题目,需要我们构造一个恶意的序列化对象来执行命令。
首先,我们需要找到一个可以执行命令的地方。通过查看代码,我们可以发现在`Main`类中有一个`executeCommand`方法,可以执行我们传入的命令。
接下来,我们需要构造一个恶意的序列化对象。我们可以使用ysoserial这个工具来生成一个恶意的序列化对象。在这个工具中,我们可以选择使用`CommonsCollections1`这个payload,它可以执行任意命令。
最后,我们将生成的序列化对象发送给服务器,就可以成功执行命令了。完整的解题过程可以参考以下链接:
https://www.cnblogs.com/lsdb/p/11502012.html
[roarctf 2019]easy calc
这道题是一道简单的逆向工程题目,给出了一个计算器程序和加密后的标志,需要我们破解加密算法并计算出正确的标志。
我们可以使用反编译工具对程序进行反编译,然后找到加密算法的相关代码。在这个程序中,加密算法使用了一种简单的替换算法,它会将输入字符串中的每个字符替换成固定的字符。
我们只需要编写一个解密程序,使用相同的替换表将加密后的标志还原成原始标志。一旦还原了标志,我们就可以提交它来获得得分。