PHP大法——实验吧
今天有点时间就多写几篇解题思路吧,
希望能够帮助到那些需要帮助的人,
所有的wp都是以一题一篇的形式写出
主要是为了能够让读者更好的阅读以及查找,
希望你们不要责怪!!共勉!!!
这一题做的时间比较久,但是收获颇多!!!!
永远爱你们的————新宝宝
PHP大法分值:20
- 来源: DUTCTF
- 难度:中
- 参与人数:10372人
- Get Flag:4086人
- 答题人数:4256人
- 解题通过率:96%
解题链接: http://ctf5.shiyanbar.com/DUTCTF/index.php
解题思路:看见这一题首先是没有思路,仔细查看,就会发现很多有意思的事情
首先:你会发现有点不一样呀:
然后按照提示进行更改得到:
发现并没有得到有用的信息:之后就是需要对于源代码进行分析:
我们重新审视下那段php代码,看到一段
要传入一个url编码的参数,这时候我们可以用到一个工具,
小葵转码工具,我们可以进行url转码!!!
我们把这段代码输入试试看~~~
还是不允许访问,仔细看PHP就会发现,这个是浏览器的一个漏洞,浏览器会自动把url编码进行一次转义,
所以我们应该把当前url编码再进行编码一次!
然后再进行一次转码:
输入到(这一个需要看仔细一点呀)上面那个地方是输入二次转码得到的字符串!!!
其实还有一种做法:
首先eregi()函数进行一次比较判断,如果想打印flag,id不能等于"hackerDJ" ,并且经过url解码后id等于"hackerDJ"
但这里需要注意的是:在浏览器中提交时浏览器会为我们进行一次解码
可以在本地执行下面的代码:
<?php
$id = '%68ackerDJ';
if(eregi("hackerDJ",$id)) {
echo("<p>not allowed!</p>");
exit();
}
$id = urldecode($id);
if($id == "hackerDJ")
{
echo "<p>Access granted!</p>";
echo "<p>flag: *****************} </p>";
}
?>
可以看到成功打印,说明浏览器的确为我们转换了一次
因此我们需要进行两次编码: h --> %68 --> %2568
第一次得到:
第二次得到:
构造url: index.php?id=%2568ackerDJ最后答案:
flag: DUTCTF{PHP_is_the_best_program_language}
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
程序逻辑问题——实验吧
今天有点时间就多写几篇解题思路吧,希望能够帮助到那些需要帮助的人,所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找,希望你们不要责怪哦!!共勉!!! 永远爱你们的————新宝宝 程序逻辑问题分值:20 来源:实验吧 难度:中 参与人数:8729人 Get Flag:2738人 答题人数:2840人 解题通过率:96% 绕过 解题链接:http://ctf5.shiyanbar.com/web/5/index.php 解题思路:这一题基本可以学到很多过于sql注入的语法,关于union select 的使用: 首先:需要查看一下源代码(QAQ傻傻的我一开始并没有想到还要这样,打开源代码就会发现: 打开链接: 突然有一种与代码审计有关的题目,我们一步一步来看~~~ 第一个if语句的意思是我们传入一个user和pass,它就可以执行连接数据库的命令,否则打印连接失败; 第二段:$sql = "select pw from php where user='$user'"; 意思是查php里面user字段里面的pw的字段值,这句话的意思是把上一个查询的值放入到quer...
- 下一篇
学完68个Python函数,为啥还做不好数据分析?
数据分析老鸟都知道,相比于自己作出好的数据分析报告,“教别人如何入门数据分析”这事情简单多了。什么for循环,def函数,print输出,自变量a赋值,字符串和数字转换,相关分析,回归分析,方差分析,聚类分析,判别分析,决策树分析等。函数太多,方法太多,套路太多,技巧太多……可现实是,大多数人听了无数道理依旧庸碌一生,学完68个Python常见函数却依旧做不好数据分析。 这很正常,因为我们依旧太年轻,数据分析并没有那么简单。 本文不属于具体的数据分析技巧,而是如何积累数据分析经验、提升自己逻辑思维能力的建议,希望你能尽情释放自己对数据分析的激情。 做一个数据分析精分人 好的数据分析师,会从市场需求的角度进行分析。所有的数据分析都是有市场目标的,而你要学会从数据的维度对目标做拆分,用数据落地目标。 作为一个月薪6000的数据分析师,如何为百万甚至千万的项目提供数据分析方向指导? 项目投入产出需要如何调整?推广费用如何分配?市场走向如何预测? C君认为,关键点在于“学会用市场检验你所做的数据分析” 1、用数据拆分目标 想做好数据分析,第一点就要明确目标,用数据的方式理解你正在做的业务,...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主