经过上次的自闭赛之后,明白了总结的重要性+实战+刷题+看书+基础
ctf中一定要学会python,不然拿到题目,知道思路,就是写不出flag,那就很是尴尬了
由于接触到的赛题太少了,这里就有点low了,望各路大佬请多指教。
ctf是一门综合的比赛
关于web方面:
对于简单题:
终究其本质就是在 利用 web的基础知识 出题,比如说让你 利用 burpsuite 修改 访问的ip ,再比如说 让你 利用 burpsuite 抓包,再对 包的内容进行 修改操作。
这就要求 对 web 程序要熟悉 ,也就要求对 burpsuite 工具等要熟悉。
经常拿到题,就用burpsuite进行抓包处理,看一下有没有有用的信息。
常见的简单题:
一、网页右键查看源代码,寻找flag ;如果字符多的话,这个时候要快的话,就需要利用浏览器自带的 查找 功能。(一般来说,就是可能有个提示)
再者就是对客户端网页的一些代码进行修改,使得原来不能进行的操作,变得能够进行下去操作。例如:
对 button 按键的修改,使其能够点击,就是将其改为able
对 maxlength 的值进行修改,扩大长度,
cookies欺骗:利用 hackbar 或者 burp 修改 cookies
二、就是字符串比较题,这个就是要会 代码审计 和一些变换
1.比如说1 和 1e 的弱类型比较 ,再比如说 0 和 0e 的使用 (由于转换数字之后比对都是0) ,
2.还有一些 经过加密之后是一样的比如说 md5加密之后都为NULL的操作有哪些(这个百度就有),
3.再比如说 让你 代码的审计 ((https://blog.csdn.net/weixin_43342135/article/details/99875216) ) ,查找出来它的代码有哪些漏洞 ,比如说 空白字符的绕过
4.千方百计的绕过得到flag
5、url转义,啥奇怪的绕过方式
6.通过代码闭合的方式,从而实现自己的目的
7、@$_REQUEST 的意思是获得参数,不论是@$_GET还是@$_POST可以得到的参数@$_REQUEST都能得到。 所以构造hello的get参数。
8、 hello=1);show_source('flag.php');var_dump( #将show_source()这个是把flag.php的源代码读出来,var_dump()函数可以输出任何内容:输出变量的容,类型或字符串的内容,类型,长度。
9、include()函数和php://input,php://filter结合很好用,php://filter可以用与读取文件源代码 读取源代码之后base64解码用法:php://filter/convert.base64-encode/resource=文件路径(如index.php)
10、正则匹配 #(https://blog.csdn.net/weixin_43342135/article/details/99990689) 匹配的网站(https://regex101.com/)
11、php中有个超全局变量 $GLOBALS,PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。
12、php中==是只进行值的比较,不管二者的类型。当两个字符串进行==比较的时候,则比较字符串中第一个不是数字的字符之前的数字串所代表的整数值,例如”0marsguest”与”0”就是相等的。
13、=== 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较。== 在进行比较的时候,会先将字符串类型转化成相同,再比较
14、如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串