[NPUCTF2020]ReadlezPHP
ctrl+u看源码发现路由
| |
| |
我想着是能直接打木马进去但是发现链接之后啥都没有,那就看phpinfo(),得到了flag
| |
题目环境中我认为eval和include以及call_user_func都是可以用的但是一用就会出现网页无法运作的页面
[NPUCTF2020]ezinclude
进入之后进行传参发现需要构造cookie
| |
| |
这里拿到提示之后其实第一时间并不是很明白,怎么整,后面看到说md5强等于pass,然后尝试了一下发包发现路由
| |
| |
发现这个
| |
那么这里应该就是任意文件读取了
| |
| |
貌似是没有什么用,但是可以继续读取config.php
| |
也还是没有利用点,这里扫描一下后台了只有
| |
继续读取
| |
这里是可以打印临时文件夹中的文件,但是还是看不到内容哇
这里我们已知版本为7.0.33
使用php://filter/string.strip_tags导致php崩溃清空堆栈重启,如果在同时上传了一个文件,那么这个tmp file就会一直留在tmp目录,再进行文件名爆破就可以getshell。这个崩溃原因是存在一处空指针引用。
• php7.0.0-7.1.2可以利用, 7.1.2x版本的已被修复
• php7.1.3-7.2.1可以利用, 7.2.1x版本的已被修复
• php7.2.2-7.2.8可以利用, 7.2.9一直到7.3到现在的版本已被修复
那么可以打
| |
访问一下/dir.php,拿到文件名
| |
但是很奇怪为什么这里不能RCE仅仅只能进行一个phpinfo()呢
[NPUCTF2020]web🐕
Padding Oracle原理深度解析&CBC字节翻转攻击原理解析
首先把附件反编译了
| |
直接就出了?
| |
怎么都是密码的东西giao了,后面专门拿一天来研究!!!
[NPUCTF2020]ezlogin
XPATH注入
像这种注入的东西,就直接把他闭合重新插入查询语句即可,那现在来了解一下查询语句类似于下面
| |
那么此处我插入
$name=admin'or '1'='1
| |
$name=amdin'or '1'='1' or ''='
| |
‘’=‘‘为什么也是恒真,其实很简单,因为两个空字符串恒相等
注意:的是在xpath的查询语句中没有注释。
那么现在进入环境发现是一个登录界面,直接在username进行测试,发现确实是注入点
| |
而且是xml,那么xxe不通的话就很有可能是xpath注入了
| |
有不同回显估计是个盲注
那么一样的测试行不行
| |
介于没有等同于ascii函数的函数所以只能用字符了
并且发现这个token每次都会刷新,那么我们写个脚本来打出结果
| |
最后md5解密得到密码是gtfly123
登录之后源代码里面
| |
并且发现页面有任意文件读取
| |
多次尝试绕过一下就可以了
[NPUCTF2020]EzShiro
CVE-2019-14439
是由logback 引起的 jndi 注入
poc
| |
进入环境本身应该是有一个这样的pom.xml
| |
那么直接使用工具吧(java我的爱,但是不会)
ysomap工具
| |
但是我运行java文件是没有成功的,而且这个工具也没有cc8,真是奇怪了,那个师傅怎么成功的呢
[NPUCTF2020]验证🐎
呆jio不,不会哇,看着学习一下吧
| |
首先绕过那层md5,还是比较简单的,直接绕过就可以了
已知keys[0]固定,那么可以看成是这样子
| |
| |
这里只有math和数字\一些符号啥的
定义一个匿名的箭头函数(参数为Math)
| |
对象的 constructor 属性
在 JavaScript 中,每个对象都有一个
constructor属性,它指向创建该对象的构造函数。Math是一个全局对象。通常来说,
Math.constructor默认返回的是Object构造函数,但是如果进行重定义Math = Math.constructor;那么Math就被指向了Function构造器,那么此时进行引用,就可以动态执行代码
| |
| |
最后执行的命令也就是
| |
payload为
| |
看包
| |
好玩!!!