您当前的位置: 首页 >  web3

ThnPkm

暂无认证

  • 2浏览

    0关注

    98博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Bugku CTF web3

ThnPkm 发布时间:2022-04-25 13:43:17 ,浏览量:2

目录

字符?正则?

前女友

Login1

你从哪里来

各种绕过呦

file_get_content( )

 安慰奖

文件上传

文件包含2

需要管理员

点login咋没反应

都过滤了

字符?正则?

trim()移除空白字符

这个文章超棒

 /key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i

.                                  匹配除 "\n" 之外的任何单个字符

*                                 匹配它前面的表达式0次或多次,等价于{0,}

{4,7}                           最少匹配 4 次且最多匹配 7 次,结合前面的 . 也就是匹配 4 到 7 个任意字符

\/                                匹配 / ,这里的 \ 是为了转义

[a-z]                           匹配所有小写字母

[:punct:]                     匹配任何标点符号

/i                                表示不分大小写

/?id=keyabckeyaaaaaakey:/a/keya!
前女友

翻出来源码

md5弱比较直接数组绕过

strcmp() 两个变量相等返回0,!strcmp($v3, $flag)要为真

可以通过报错返回0,数组和字符串无法比较,所以V3也传个数组

/?v1[]=1&v2[]=2&v3[]=3

Login1

hint:SQL约束攻击

基于约束的SQL攻击 - Angel_Kitty - 博客园

没有遇到过,了解一下原理

sql处理字符串时(一般是在比较字符串时),会自动删去末尾多余的空格,这是因为,SQL会在内部使用空格来填充字符串,以便在比较之前使其它们的长度保持一致。这一点,对于where和insert语句是成立的,对于like语句无效。

"admin"和"admin  “,最终都会得到"admin”,因此查询"admin "得到的结果是"admin"的信息

可以利用这个漏洞来绕过,方法:若注册时已知admin这个用户名存在,则我们可以注册admin(空格空格空格…)这个用户名,密码自定,然后登录时用刚刚注册的用户名和密码即可得到真实的想要的admin信息或权限。

用admin( 加空格 )当做用户名来注册

然后用admin登录

就能获得真正admin的信息,也就是拿到flag 

你从哪里来

抓包设置 Referer 成功, 开始设置User-agent 没出来

各种绕过呦

逻辑也简单, uname不等于passwd ,但他两的sha1值相等,sha1也可以数组绕过

file_get_content( )

主要就是file_get_contents()文件包含漏洞

/flag.txt 里面有内容: bugku

直接构造$ac=bugku,然后 $fn=flag.txt 读取到bugku 就成功了

?ac=bugku&fn=flag.txt

当然也可以自己构造一个文件出来用 php://input协议

 安慰奖

提示backups(备份)、试了一下常见备份路径 index.php.bak


还是比较简单的,只需绕过__wakeup() ,读取文件用tac 就行

构造序列化如下

条件也很简单

cookie传入序列化

都过滤了

  !,!=,=,+,^,-,% 像是只有这里的字符可以用

有个登录框,用admin ,bugkuctf登录进去 ,事实上是个sql盲注,有点麻烦看wp

WEB36,38:全都过滤了,你绝望吗(sql盲注)_不想带绿帽子的白帽子的博客-CSDN博客

Bugku WEB 都过滤了_显哥无敌的博客-CSDN博客_bugku 都过滤了

可以构造命令执行了 

这里查不到flag文件在哪里,只能是经验了,也许是在根目录下的flag

这里液过滤了空格 所以cat

关注
打赏
1660722558
查看更多评论
立即登录/注册

微信扫码登录

0.0426s