扔进 IDEA 里,右键 jar 包,Add as Library,点一下 OK 就可以看到源码了
题目很简单,感觉唯一难点就是,猜 /ctfshow/
这个路径了。。
/ctfshow/login?username=admin&password=ctfshow
一般 javaweb 先看 web.xml
发现 /login
路由对应的 servlet-name
类为 com.ctfshow.servlet.loginServlet
跟进发现满足 user.getVipStatus()
为 true
即可获得 flag,User()
对象在 com.ctfshow.model.User
中, user.getVipStatus()
也就判断一下 username
和 password
是否为 admin
和 ctfshow
。
IDEA 本地部署过程
https://blog.csdn.net/qq_43799965/article/details/95239759
主要是为了方便 DEBUG,发现部署后访问 404.。。
- 直接启动
进入 tomcat 安装根目录/bin
./startup.sh
把包修改后缀名为 .war 或者解压,
然后访问 localhost:8080/ctfshow/
正常,但不方便debug
关闭
./shutdown.sh
- 解压 jar包,目录扔进 IDEA
折腾了半天,,原来是 tomcat 版本太高了,,,我用的是 10.0.5 然后换了 9.0.45 就可以了,不然整天在那第一次访问 500,之后 404,,网上也搜不出来为啥,草!
emmm,然后下断点,,没反应?
问了一下学了 JavaWeb 的同学,原来这个是编译后的包,编译前不长这个样子,怪不得。。。。
所以这些都是 .class 文件,,
啊,突然傻了,我tm直接tomcat开个debug,然后用 idea 的远程 debug 不就好了,,像调试 weblogic 那样。。草
emmm,和 welogic 不一样,,不知为啥 连接成功了,下了断点,访问网页没反应,,直接就可以访问了。。
有请下一位追梦选手。