美文网首页
2019-05-11 Jarvis OJ Writeup之Web

2019-05-11 Jarvis OJ Writeup之Web

作者: NoelleMu | 来源:发表于2019-05-12 00:04 被阅读0次

好长时间没有更新了,这段时间一直在忙各种各样的事情,这几天终于忙完了,也能继续静下心来打CTF了。
这么长时间不打CTF,感到自己功力尽废,也是时候弥补这一个月落下的进度了。

[61dctf]admin

分值:100

考察查看robots.txt、基本的抓包改包操作

点进去一看只有Hello World,查看网页源代码也没有什么有用的信息

尝试了index.html、admin.html、login.html,都是not found,这时突然想到robots.txt,果然有发现

访问这个页面,得到了一个flag,但是提交了一下显示不对,所以这是个假flag

根据以往的做题经验,这时候在请求头里一定有一个admin=0或者类似的东西,于是抓包

把这个admin=0改成admin=1,发包,成功得到真正的flag。注意flag后面有一个空格,记得提交的时候把它删掉,否则会显示答案错误。

PORT 51

分值:100

考查curl命令指定端口

打开一看写着“Please use port 51 to visit this site.”,本来以为是要访问51号端口,想了想好像不是,应该是必须通过本地的51端口来访问这个网站,这时候就要用到curl --local-port指定端口号了。

--local-port参数的解释如下:

居然不弹flag,本来以为是自己的方法出错了,但是之后看了很多别人的wp也是用的完全一样的方法,估计是题目挂掉了?也想不到什么别的原因了。

这个做法应该是没错的,没办法只好用了别人的flag。

LOCALHOST

分值:150

考察XFF头

打开一看只有“localhost access only!!”,那肯定是要在请求头里加“X-Forwarded-For: 127.0.0.1”来绕过了。

抓包,加上XFF发包:

拿到flag:

Login

分值:250

考察md5()函数和SQL注入

这道题比较复杂,原理我也想了很久才搞明白。

参考资料:https://blog.csdn.net/March97/article/details/81222922

点进去一看只有一个Login,而且网页源代码里没有有用的信息。

这时候应该就是SQL注入了。看了一眼响应头发现一条hint:

SQL注入没跑了。

这个.md5($pass, true)的意思大概是这样:

来源:http://www.w3school.com.cn/php/func_string_md5.asp

到这里我也蒙了,百度了一下找到了一开始放的那篇参考文章,才知道原理大概是这样子:

这题的答案“ffifdyop”在经过如Hint中所述的md5()函数处理之后得到的结果是'or'6×××××(后面都是乱码,只有'or'6是有用的),而SQL语句在判断时,如果'or'后面是一个数字,就会被判断为真,也就达到了SQL注入的效果。

而根据Hint,这道题只需要提交ffifdyop这个答案就可以了。

不过这个ffifdyop是怎么找到的呢?还是没有搞明白,以后慢慢想吧。

[61ctf]babyphp

分值:200

考察Git源码泄露、PHP代码注入

打开一看是一个网站,随便翻了翻发现一个提示:

可以想到Git源码泄露,于是直接上GitHack:

随便看了一下源码,有一个flag.php但是什么有用的信息都没有,但是在index.php里发现了assert代码注入漏洞:

参考资料: https://www.cnblogs.com/sn00py/p/5925944.html

此段代码中的关键部分含义如下:

  1. templates和传入的page参数和.php后缀结合赋给变量file
  2. file经过滤..()防止目录遍历
  3. 判断文件是否存在

assert()函数把传入的字符串当做PHP代码执行,可以通过构造可控的参数file来执行代码读取flag.php

payload:/index.php?page='.system("tac templates/flag.php").'

试了好几次,不知道为什么cat就不行而tac就可以。。。

拿到flag。

未完待续……

相关文章

  • 2019-05-11 Jarvis OJ Writeup之Web

    好长时间没有更新了,这段时间一直在忙各种各样的事情,这几天终于忙完了,也能继续静下心来打CTF了。这么长时间不打C...

  • Jarvis OJ WriteUp

    Web PORT51 提示要从51端口。实际上是要从自己的51端口。用curl就可以实现: 得到flag。 LOC...

  • Jarvis OJ BASIC 部分WriteUp

    0x01base64? GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TI...

  • Jarvis-OJ-Web

    title: Jarvis OJ Webdate: 2019-05-18 14:06:08tags:- CTF- ...

  • Jarvis-OJ WEB

    上篇文章里说等ak了jarvisOJ上的web就写一篇题解。结果拖到现在才决定下笔。一方面是因为最近实在太忙了,另...

  • Jarvis OJ下部分WEB

    PORT51 用特定端口访问(强制使用本地端口号) Sudo Curl --local-port 51 http:...

  • Jarvis OJ PWN level6 WriteUp

    终于做完了自己在pwn方向的第一道堆题,参考了writeup1和writeup2怼了四天,终于理解了整道题目,本地...

  • jarvis OJ之pwn

    Basic - Shellcode 题目描述: 作为一个黑客,怎么能不会使用shellcode? 这里给你一段sh...

  • APK动态调试-FindPass为例

    工具: jeb-linux、adb、雷电模拟器、jadx 示例: jarvis oj上的FindPass 步骤: ...

  • HCTF两道web题目

    HCTF WEB wp 官方Writeup: [https://bysec.io/hctf/writeup.htm...

网友评论

      本文标题:2019-05-11 Jarvis OJ Writeup之Web

      本文链接:https://www.haomeiwen.com/subject/pnfqaqtx.html