newbugku web部分write up

刚开始写博客,把以前印象笔记的newbugku web的wp搬上来,顺序很乱

00x0 web10
打开源代码,看到一串疑似Base64加密,解出来是乱码,再试试base32,出来这个
在这里插入图片描述
在这里插入图片描述
登陆之后发现了这个框 百度发现vim在异常退出时会生成swp文件,直接加后缀下载,改成txt

jwt的key拿到手了,可以伪造,然后iat是当前gmt时间值,没想到啥好办法,python生成当前时间同时秒表计时,然后伪造时候写一分钟后的时间,60秒时候准时发包。。成功getflag

在这里插入图片描述

在这里插入图片描述

附上jwt学习资料 https://baijiahao.baidu.com/s?id=1608021814182894637&wfr=spider&for=pc
在线伪造网站 https://jwt.io/

00x1 web2
在这里插入图片描述
写脚本
****
正则表达式得多看点了
在这里插入图片描述
00x2 web23

开局一个静态页面,时间戳验证码,猜测验证码预测爆破
先信息收集
![
](https://img-blog.csdnimg.cn/2019072311503554.png)
这里有关键信息被乱码搞没了。。最开始没在意 结果后边没有这个信息做不出来
把这个文件另存到本地txt就能得到信息

在这里插入图片描述这个是一个把验证码和session置空绕过验证码的姿势
这个题的思路明了了,但是还没有登陆口
dirsearch扫一下在这里插入图片描述
在这里插入图片描述
login.php进去之后是弹窗 login.html才是登陆口
抓包修改,然后生成个0-1000的字典爆破
在这里插入图片描述

00x3 web24
前端是个购物网站,啥都不能点 源代码拉到最后得到hint
在这里插入图片描述
访问得到源码
在这里插入图片描述
反序列化,写脚本

这里有一个很坑的地方要注意 源码里的file是private变量,private变量在反序列化时候跟public不一样 再跟base64加密组合会出现一些问题
百度得到private变量反序列化资料
https://yml-sec.top/2019/07/11/反序列化相关问题注意点/
如果直接用序列化生成的字符串改掉变量数在网站上生成base64加密的话怎么提交都不会对 必须用php自带的base64加密 推测是private变量在反序列化时候那两个乱码字符的锅
也尝试把%00替换掉字符之后加进去,也不行。
总结一下就是当类里的变量是private变量时,如果需要base64加密就必须用php自带的
不需要base64加密的话把中间的类名前后加上%00即可
这也算是个反序列化的坑点吧 第一次见 记录一下

00x4 web21
在这里插入图片描述
提示you are not admin,看下源代码
在这里插入图片描述
存在任意文件包含漏洞,其中user被file_get_contents读取后要为admin,构造php://input后用post传参
在这里插入图片描述
复制的读源码命令忘改index结果读出来代码了。。base64看一眼先
在这里插入图片描述
是被注释的代码的完整版,有一个匹配f1a9的过滤函数,之后才可以用file包含文件,猜测flag在f1a9.php文件里,再按提示读一下class.php的源码
在这里插入图片描述
所有源码都出来了,捋一下逻辑吧

class.php中的__toString魔术方法被执行时会把file的内容读取并打印,而pass参数存在反序列化,构造一个poc使class.php中的file赋为f1a9.php即可读取flag

![在这里插入图片描述](https://img-blog.csdnimg.cn/20190723115533849.png在这里插入图片描述
在这里插入图片描述
至此poc构造完毕,要注意get传参中的file要包含class.php才能执行
POC:?user=php://input&file=class.php&pass=O:4:“Read”:1:{s:4:“file”;s:8:“f1a9.php”;}
post传入admin
由于打印的f1a9.php的内容被自动解析了,要查看源代码才能get flag
在这里插入图片描述
00x5 web7
在这里插入图片描述
没注册直接点登陆就上去了,然后提示权限不够,提示小饼干抓包看看cookie
在这里插入图片描述
u和r前几位一样,很奇怪,md5解一下没解出来。。
把后半不一样的部分单提出来解
在这里插入图片描述
cookie欺骗,把后半段改了
在这里插入图片描述
00x6 web25
在这里插入图片描述
打开是个输入框
点进下载,下不到东西
在这里插入图片描述
链接是2,改成1试试,也不行,把1删掉,得到字典
在这里插入图片描述
扔进去爆破,全错。。
一顿fuzz发现flag.php存在而且回显和check.php一样推测是不是要发包给flag.php才行

抓包之后把check改成flag

在这里插入图片描述
还是全错。。
走投无路,拿dirsearch扫了下目录
在这里插入图片描述
在这里插入图片描述
爆破得到flag,好坑的题
00x7 web18
进入页面,注意到list里有get参数,可能存在注入点,输入1,2,3都是正常页面,4开始提示whatdoyoudo
在这里插入图片描述

输入1’回显空白,输入1’#回显空白,1’–+回显正常,推测存在字符型注入
1’ and 1=1–+和1’ or 1=1–+都回显空白,试下双写
在这里插入图片描述
成了,1’ oorrder by 3–+,列数为3
爆库时候发现前面的数字如果是正常的话不会出现回显,试试what do you do时候能不能回显
在这里插入图片描述
库名web18,查一下表,这里忘了双写information里的or被卡了半天
Payload:?id=4’ ununionion selselectect 1,2,groupconcat(table_name) from infoorrmation_schema.tables where table_schema=database()–+
在这里插入图片描述
查字段
Payload:?id=4’ ununionion selselectect 1,2,group_concat(column_name) from infoorrmation_schema.columns where table_name=‘flag’–+
在这里插入图片描述
最后直接查flag
?id=4’ ununionion selselectect 1,2,flag from flag–+
在这里插入图片描述
00x8 web12

打开网站,看一下源代码,发现有注释的php源码
在这里插入图片描述
很典型的反序列化漏洞,有几个点要绕过,strcmp函数在比较数组时候会自动返回0,把password赋为数组即可绕过。由于16进制数是0x开头,int的强制类型转换在转换16进制时会赋为0值
在这里插入图片描述
把time赋为’0x4d7c6d00’即可绕过sleep函数。当反序列化的POC中大括号外面的数字比实际属性个数大时__wakerup()魔术方法不会执行。
构造exp,生成poc

在这里插入图片描述
O:4:“Time”:2:{s:4:“time”;s:10:“0x4d7c6d00”;s:8:“password”;a:2:{i:0;s:3:“woo”;i:1;s:3:“who”;}}
把time后面的2改成3,放进去,成功弹出flag

在这里插入图片描述
00x9 web26
在这里插入图片描述
虽然看不懂那个正则表达式,但是长字符串和数组都能绕preg_match
两种姿势

在这里插入图片描述
在这里插入图片描述
0x10 web20
在这里插入图片描述
手动提交没反应 写个小脚本跑
在这里插入图片描述

0x11 web13

不管输什么进入都是wronganswer
抓包在响应里看到了密码的提示
在这里插入图片描述
在这里插入图片描述

把这个解码之后输进去
在这里插入图片描述
写脚本
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值