Bugku-代码审计(数字验证正则绕过)
各位小伙伴,我把Bugku上面的关于代码审计类型的WP为两部分,主要是为了各位小伙伴的阅读质量
希望你们能够多多包涵哦!!!!
7:
解题思路:首先应该了解一个关于php弱类型的知识:
再继续阅读信息就会发现:、
第一处if ($_GET['name'] == $_GET['password'])判断时两数组确实是不同的,
但在第二处else if (sha1($_GET['name']) === sha1($_GET['password']))判断时由于sha1()
函数无法处理数组类型,将报错并返回false
,false === false
条件成立,这样就绕过了sha()
函数获得flag,这个时候需要构造类似于:http://120.24.86.145:9009/7.php?name[%20]=1&password[%20]=2
就会得到答案:Flag: flag{bugku--daimasj-a2}
8:
解题思路:关于这一题最主要的是需要知道:md5('240610708') == md5('QNKCDZO'),
当然前提是要明白PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。就可以得到答案,那么就需要构造PAYLOAD:http://120.24.86.145:9009/13.php?a=240610708
就会得到答案:flag{bugku-dmsj-am9ls}
9:
解题思路:针对于这个问题首先需要查询ord()函数,就会明白题目的含义:
ord() 函数返回字符串的首个字符的 ASCII 值。
使用在线十六进制转化工具(https://tool.lu/hexconvert/)就会得到:
得到最后转化的十六进制,需要在其前面加上0x才能够表明是十六进制
因此最后的payload:http://120.24.86.145:9009/20.php?password=0xdeadc0de
最后得到答案:flag{Bugku-admin-ctfdaimash}
10:
解题思路:首先使需要了解关于正则表达式的匹配问题,然后就是需要使用数组进行绕过
解决方案一:使用数组进行绕过:
Payload:http://120.24.86.145:9009/5.php?password[ ]=1243(这个部分加不加并不影响最终结果;
解决方案二:使用ereg()null截断漏洞,再使用科学计数法来构造else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999)这个条件,即1000000000用1e9来表示,在加上-
来构造满足(strpos ($_GET['password'], '-') !== FALSE,于是就可以构造:
payload:http://120.24.86.145:9009/5.php?password=1e9%00*-*
这一个构造可以根据一步一步的调试进行,最终能够得到结果:例如:
最后得到结果:Flag: flag{bugku-dm-sj-a12JH8}
11:
解题思路:这一题直接使用数组进行绕过就可以得到答案:
Payload:http://120.24.86.145:9009/15.php?ctf[ ]=#biubiubiu
当然也是可以这样的(http://120.24.86.145:9009/15.php?ctf[%20]=)
最后得到结果:
最后得到答案:Flag: flag{Bugku-D-M-S-J572}
12:
解题思路:构造那么久就是没有思路,看了一些其他人的解析构造,好像说的都是一样,都没有解释为什么直接使用插件HackBar就可以得到结果,大多数人都是直接写上使用这个插件就会得到答案:
关于火狐浏览器中的Hackbar插件,我会收集一些资料,整理好之后上传到博文中。
希望各位能够多多包涵(QAQ)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
java导入EXCEL的工具类(以spring-webmvc-4.0.4jar为基础)
1.本工具类继承于 spring-webmvc-4.0.4jar文件心中的一个类 AbstractExcelView 2.代码如下 package com.skjd.util; import java.util.Date; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; impor...
- 下一篇
MaxCompute读取分析OSS非结构化数据的实践经验总结
1. 本文背景 很多行业的信息系统中,例如金融行业的信息系统,相当多的数据交互工作是通过传统的文本文件进行交互的。此外,很多系统的业务日志和系统日志由于各种原因并没有进入ELK之类的日志分析系统,也是以文本文件的形式存在的。随着数据量的指数级增长,对超大文本文件的分析越来越成为挑战。好在阿里云的MaxCompute产品从2.0版本开始正式支持了直接读取并分析存储在OSS上的文本文件,可以用结构化查询的方式去分析非结构化的数据。 本文对使用MaxCompute分析OSS文本数据的实践过程中遇到的一些问题和优化经验进行了总结。作为前提,读者需要详细了解MaxCompute读取OSS文本数据的一些基础知识,对这篇官方文档 《访问 OSS 非结构化数据》最好有过实践经验。本文所描述的内容主要是针对这个文档中提到的自定义Extractor
相关文章
文章评论
共有0条评论来说两句吧...