目录
字符?正则?
前女友
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_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
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?