商丘SQCTF 部分题目WP
File_download根据源码可以知道这有个隐藏表单,提示我们存在下载
根据help.jsp的get or post filename to /DownloadServlet ?,要求我们去传参一个filename
我们先去读一读index.jsp
可以明显知道这个登录界面是个幌子,这题的突破口是下载和读取文件,并可以发现语言用的是java语言。
再者题目提示我们用xml,不难想到/DownloadServlet?filename=/WEB-INF/web.xml
这里有两个servlet,猜测flag应该就在Flagmanager中,我们进行读取
/DownloadServlet?filename=/WEB-INF/classes/com/ctf/flag/FlagManager.class
但提示我们一个这个
然后我想了很久,猜测这边可能会用POST请求,get请求应该会过滤后缀,果然
得到了.class的字节码
反编译后得到
import com.ctf.flag.FlagManager;
import java.util.ArrayList;
import java.util.Scanner;
import javax.servlet.http.HttpServlet;
public class FlagManager extends HttpServlet {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Please input your flag: ");
String str = sc.next();
System.out.println("Your input is: ");
System.out.println(str);
char[] stringArr = str.toCharArray();
Encrypt(stringArr);
}
public static void Encrypt(char[] arr) {
ArrayList<Integer> Resultlist = new ArrayList<>();
for (int i = 0; i < arr.length; i++) {
int result = arr + 38 ^ 0x30;
Resultlist.add(Integer.valueOf(result));
}
int[] key = {
110, 107, 185, 183, 183, 186, 103, 185, 99, 105,
105, 187, 105, 99, 102, 184, 185, 103, 99, 108,
186, 107, 187, 99, 183, 109, 105, 184, 102, 106,
106, 188, 109, 186, 111, 188
};
ArrayList<Integer> Keylist = new ArrayList<>();
for (int j = 0; j < key.length; j++) {
Keylist.add(Integer.valueOf(key));
}
System.out.println("Result: ");
if (Resultlist.equals(Keylist)) {
System.out.println("Congratulations! ");
} else {
System.out.println("Error! ");
}
}
}我们再写一个脚本即可
import java.util.ArrayList;
public class GetFlag {
public static void main(String[] args) {
int[] key = {
110, 107, 185, 183, 183, 186, 103, 185, 99, 105,
105, 187, 105, 99, 102, 184, 185, 103, 99, 108,
186, 107, 187, 99, 183, 109, 105, 184, 102, 106,
106, 188, 109, 186, 111, 188
};
StringBuilder flag = new StringBuilder();
for (int i = 0; i < key.length; i++) {
char c = (char) ((key ^ 0x30) - 38);
flag.append(c);
}
System.out.println("Flag: " + flag.toString());
}
}
My Blog
点击,得到一份pdf,得到admin/secret123的后台密码,盲猜登录点为login.php
baby include
页:
[1]