这道题是在看红日安全团队的代码审计系列文章时碰到的,感觉挺有意思的,所以做了下.题目代码如下 //index.php <?php require 'db.inc.php'; function dhtmlspecialchars($string) { if (is_array($string)) { foreach ($string as $key => $val) { $string[$key] = dhtmlspecialchars($val); } } else { $string = s…
利用简易爬虫完成一道基础CTF题 声明:本文主要写给新手,侧重于表现使用爬虫爬取页面并提交数据的大致过程,所以没有对一些东西解释的很详细,比如表单,post,get方法,感兴趣的可以私信或评论给我.如果文中有哪些问题,也欢迎大家指正. Written by Menglin Ma 写在前面   如果有想学习基础爬虫的同学,建议在中国大学MOOC上搜索嵩天老师的爬虫课程,讲的真的很细致,也很基础.   想入门CTF的同学,给你们推荐个基础的网站,上面的好多题对新手比较友好:www.shiyanbar…
一. tp5.0.0-5.0.12 这版本是直接可以利用的,无需captcha模块. 分析:thinkphp/library/think/App.php 中的run方法: filter(方法就是给$request->filter属性赋值: 然后默认配置的值: 所以也就是不管用户是否设置,这里$request->filter属性都会被重置.这里其实是一点不影响整个漏洞的. 影响漏洞的在后面: 然后执行的:app::routeCheck->Route::check( 这里route->…
昨天,一同事发过来的一道数据库题目,就是哪种经典的父子级 ID 在同一数据库表中设计类型.需要在原表中添加一个字段,同时,将该节点的父子级详细信息插入到原表新增的一字段中,具体效果如下图. AreaCode .AreaName.ParentCode (原表三字段). Content __新增字段,更新该 AreaCode 下所有父级菜单信息至新增至原表的 Content 字段下面,用红线框起来(意思应该讲明白了吧.) AreaCode:地区 ID   AreaName:地区介绍    Paren…
不得不说,这也许会是一道长期在我的博客里作为“HARD”难度存在的题 这道题能很好的考验选手的思考能力,但本蒟蒻最后还是听了省队爷讲了之后才会...(默默面壁) 题目里,说对于每一个点,是用当前选出的M个里面,最长长度减去最短长度作为价值.也就是说:选择长度介于最长与最短之间的边,是对答案没有影响的.(本蒟蒻并没有想到这一点...) 所以由于这一点,我们可以先对于边的长度排序. 那么题目中提到的M,是“选中多余或等于M条边”,从这里就可以看出,我们只需要选定一个头和一个尾就好,由此可以看出,这个…
JavaScript中只支持一维数组,但是可以在数组中嵌套数组来创建二维以至于多维的数组.今天下午在看书时候,发现一道感觉比较有意思的题,就是js中如何求二维数组的列之和和行之和,现在就给大家分享下,共同交流交流. 参差不齐的数组行之和 var grades=[[1],[1,2],[1,2,3]]; var num=0; var sum=0; var i=0; var j=0; for(i=0;i<grades.length;i++){ //多少行 for(j=0;j<grades[i].le…
题目地址:http://210.32.4.22/index.php 一开始我一直考虑的用<!--#include file="文件"-->的格式进行读取文件,但是一直不成功,后来赛后看了各位师傅的writeup,有师傅跟我说了这两个命令的区别,一个是虚拟目录,一个是相对目录,下面是我后来百度上提问,有师傅告诉我的,权当走过的坑吧. 1.#include file 包含文件的相对路径,#include virtual包含文件的虚拟路径. 2.在同一个虚拟目录内,<!--…
asp中获取传递的参数,一般用request或者用request成员函数request.form,两种方式都可以获取页面表单传递过来的参数值,一直没留意两种方法有什么区别,我一般喜欢用request("abc")这样的形式,简单明了嘛. 最近修改了一些kingcms的代码,其中有一段代码是用request.form("abc")这样的形式获取传递的参数,可我在地址栏输入传递 的参数无论如何也无法通过这段代码获取,仔细看了一下,才发现,是由于request和reque…
Request.Form:获取以POST方式提交的数据(接收Form提交来的数据):Request.QueryString:获取地址栏参数(以GET方式提交的数据)Request:包含以上两种方式(优先获取GET方式提交的数据),它会在QueryString.Form.ServerVariable中都搜寻一遍.而且有时候也会得到不同的结果.如果你仅仅是需要Form中的一个数据,但是你使用了Request而不是Request.Form,那么程序将在QueryString.ServerVariabl…
1.什么是动态加载 Class Loaders是动态加载Java类与Resource的一种机制.它支持Laziness,type-safe linkage,user-defined extensibility和multiple communicating namespaces这4种特性. Lazy loading:Class只有在需要的时候才加载.这样减少了内存使用量,能提高系统反映速度: Type-safe linkage:动态类加载不会破坏JVM的类型安全: User-definable c…