CTF之WEB
WEB题中的一些常用思路
WEB题常用工具
一下是对思路的一些补充
-
直接查看源码:查看源码的方法除了鼠标右键查看外,还可以通过在网址栏前面加入”view-source:“,语句或者通过F12键打开控制台,通过控制台改变一些元素的信息来获取flag
-
查看修改过添加HTTP请求头响应头:对于这种类型的题目,可能直接修改信息行不通,那就得用到BP这个工具了,通过修改代理来间接改变成题目所需要的信息,再通过软件运行,即可得到flag,对于一些有SQL语句预防的情况下可以使用“’ or 1=1 group by pwd with rollup limit 1 offset 2# ”这条语句直接得到flag
-
后台登录 绕过登录获得FLAG
-
利用开发者工具控制台 如果打开题目是很多的代码,可以将代码粘贴至控制台(例如jother代码属于js代码的一种)然后控制台会执行该代码
-
使用BP拦截 Burp-Suite是一个很强大的软件。
-
上传绕过 由于文件上传功能实现代码没有严格限制用户上传到文件后缀以及文件类型,导致攻击者能够向某个可通过WEB访问的目录上传恶意文件,并被脚本解析器执行,这样就可以在远程服务器上执行恶意脚本 例如 一句话木马
文件截断:在文件头末尾改变一下,把十六进制的空格(20)改成空字节(00) -
SQL注入 SQL注入就是把sql语句以精妙的方式放到输入框中,送到后台去执行,从而获取非法的信息判断是否存在SQL注入的一些语句:”1‘ and 1=1,””and 1=2”
-
cookie 登录网站的时候会产生cookie信息,通过获取cookie信息来绕过登录,用BP来获取数据包,通过删掉cookie信息来得到flag
-
HASH函数 利用sha函数的漏洞(sha函数默认传入的是字符串,传入其他类型得到的结果是false)
以上为这个博主的文章 ,为了方便做题,刚开始的我需要不断地实践,会继续做题的。
web1
查看源码可以得出: -
字符串QNKCDZO进行lmd5解码,可得到0e830400451993494058024219903391并赋值给变量
$md51
-
GET请求获取a的值并赋予给变量
$a
,并对变量$a
进行md5操作赋值给变量$md52
; -
isset()函数判断了变量
$a
是否定义,即若变量$a
不为空,且不等于‘QNKCDZO’,并且$md51
与变量$md52
的值内容相等时,则可以得到flag; -
$md51
为0e830400451993494058024219903391,(在md5开头是0e的字符串中,0e在比较的时候会将其视作为科学计数法,所以无论0e后面是什么,0的多少次方还是0。)即为0*10^830400451993494058024219903391,就是0; -
那么满足条件的变量
$a
是其md5值为0e开头即可,找一个md5加密后为0的值:s878926199a MD5加密后==‘0’
由于是GET请求获取变量$a
,构造参数a=
s878926199a