身为一只web小白,但也刷了不少CTF方面的web题,趁着今天有时间,坐下来总结一下关于web的解题方法。
0x01 直接查看源代码
解题方法:
点击右键,查看页面源代码
将hidden改为text,value=0改为value=1,点击Enter。出现下图:
这段代码的意思就是,将我们传给PIN的值给a,如果a=-19827747736161128312837161661727773716166727272616149001823847,输出flag。因此,我们直接将该值输入进去,点击Enter即可。
0x02 查看修改或添加HTTP请求头响应头
解题方法:
点击View the source code,
从这段代码可以看出,只要IP为1.1.1.1,即可输出flag。
用burpsuite抓包,在请求头中添加X-Forwarded-For:1.1.1.1,
然后GO即可,
0x03 302跳转的中转网页有信息
题目:
解题方法:
0x04 查看开发者工具控制台
解题方法:
进去之后发现是一片乱字符,其实不难发现这是js代码,这就可以用到我们的控制台了,复制代码,按F12,
回车
0x05 js代码,js加解密
题目:
解题方法:
0x06 使用Burpsuite拦截
解题方法:
在输入框中随便输入123,发现报错,然后尝试抓包,发现响应头返回一个字符串MTU1MzA5MzkzOA==
然后将该字符串提交,即得flag。
其实该字符串是经过base64加密的,解密后是1553093938
0x07 robots.txt
题目:
解题方法:
0x08 asp,php代码审计
解题方法:
点击查看源代码,<?php
if (isset ($_GET['password'])) {
if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE)
{
echo '
You password must be alphanumeric
';}
else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999)
{
if (strpos ($_GET['password'], '*-*') !== FALSE)
{
die('Flag: ' . $flag);
}
else
{
echo('
*-* have not been found
');}
}
else
{
echo '
Invalid password
';}
}
?&