[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
为
|
|
看包
|
|
好玩!!!