博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bugku-代码审计(数字验证正则绕过)
阅读量:6407 次
发布时间:2019-06-23

本文共 1590 字,大约阅读时间需要 5 分钟。

各位小伙伴,我把Bugku上面的关于代码审计类型的WP为两部分,主要是为了各位小伙伴的阅读质量

希望你们能够多多包涵哦!!!!

 

7:

 

 

解题思路:首先应该了解一个关于php弱类型的知识:

 

 

再继续阅读信息就会发现:、

第一处if ($_GET['name'] == $_GET['password'])判断时两数组确实是不同的,

但在第二处else if (sha1($_GET['name']) === sha1($_GET['password']))判断时由于sha1()函数无法处理数组类型,将报错并返回falsefalse === false条件成立,这样就绕过了sha()函数获得flag,这个时候需要构造类似于:

就会得到答案:Flag: flag{bugku--daimasj-a2}

8:

 

 

解题思路:关于这一题最主要的是需要知道:md5('240610708') == md5('QNKCDZO')

当然前提是要明白PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。就可以得到答案,那么就需要构造PAYLOAD:
就会得到答案:flag{bugku-dmsj-am9ls}

9:

 

 

解题思路:针对于这个问题首先需要查询ord()函数,就会明白题目的含义:

ord() 函数返回字符串的首个字符的 ASCII 值。

使用在线十六进制转化工具()就会得到:

 

 

得到最后转化的十六进制,需要在其前面加上0x才能够表明是十六进制
因此最后的payload:

最后得到答案:flag{Bugku-admin-ctfdaimash}

10:

 

 

解题思路:首先使需要了解关于正则表达式的匹配问题,然后就是需要使用数组进行绕过

解决方案一:使用数组进行绕过:

Payload:(这个部分加不加并不影响最终结果;

解决方案二:使用ereg()null截断漏洞,再使用科学计数法来构造else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999)这个条件,即1000000000用1e9来表示,在加上-来构造满足(strpos ($_GET['password'], '-') !== FALSE,于是就可以构造:
payload:

这一个构造可以根据一步一步的调试进行,最终能够得到结果:例如:

 

 

最后得到结果:Flag: flag{bugku-dm-sj-a12JH8}

11:

 

 

解题思路:这一题直接使用数组进行绕过就可以得到答案:

Payload:

当然也是可以这样的(]=)

最后得到结果:

 

 

最后得到答案:Flag: flag{Bugku-D-M-S-J572}

12:

 

 

解题思路:构造那么久就是没有思路,看了一些其他人的解析构造,好像说的都是一样,都没有解释为什么直接使用插件HackBar就可以得到结果,大多数人都是直接写上使用这个插件就会得到答案:

 

 

关于火狐浏览器中的Hackbar插件,我会收集一些资料,整理好之后上传到博文中。

希望各位能够多多包涵(QAQ)

 

您可以考虑给博主来个小小的打赏以资鼓励,您的肯定将是我最大的动力。
微信
支付宝
作者:
出处:
关于作者:潜心于网络安全学习。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!
你可能感兴趣的文章
在此处打开OpenPowershellHere右键 在此处打开命令窗口右键
查看>>
zookeeper入门之Curator的使用之几种监听器的使用
查看>>
[转]Reporting Service部署之访问权限
查看>>
mysql导入文件出现Data truncated for column 'xxx' at row 1的原因
查看>>
innerxml and outerxml
查看>>
负载均衡服务器如何保证上传文件同步
查看>>
发现一个逆天功能:网页里挂载浏览器怎么做到的呢?
查看>>
php实现字符串的排列(交换)(递归考虑所有情况)
查看>>
SharePoint 取消分享时的默认发邮件
查看>>
基于ZedBoard的Webcam设计(一):USB摄像头(V4L2接口)的图片采集【转】
查看>>
Python语言的有限状态机实现样例
查看>>
js进阶 9-7 自动计算商品价值
查看>>
C/C++中连接函数strcat的应用(简单讲解)
查看>>
vs 2015 项目筛选器没了,.h头文件和.cpp文件混在一起了
查看>>
latex数学公式
查看>>
基于 Spring Cloud 的服务治理实践
查看>>
LaTeX 一个段落加边框
查看>>
C# 查农历 阴历 阳历 公历 节假日
查看>>
Oracle单个datafile大小的限制
查看>>
我的那些年(8)~去朋友公司做网站开发
查看>>