一、记下一些不知道的小知识
(1)常见的备份文件后缀名有: .git .svn .swp .svn .~ .bak .bash_history
而 php的备份有两种:****.php~和.php.bak
(2)去了解php的弱类型
(3)
(4)明文加密一次得到密文,密文再加密一次得到明文,这种加密方式为rot13
加密
(5)常见的Content-Type类型↓
text/html:HTML格式
text/plain:纯文本格式
text/xml:XML格式
image/gif:gif图片格式
image/jpeg:jpg图片格式
image/png:png图片格式
以application开头的媒体格式类型:
application/xhtml+xml:XHTML格式
application/xml:XML数据格式
application/atom+xml:Atom XML聚合格式
application/json:JSON数据格式
application/pdf:pdf格式
application/msword:Word文档格式
application/octet-stream:二进制流数据(常见的文件下载)
application/x-www-form-urlencoded:表单中默认的encType,表单数据被编码为key/value格式发送到服务器
另外一种常见的媒体格式是上传文件时使用:
multipart/form-data:需要在表单中进行文件上传时,就需要使用该格式
(6)md5绕过的题:↓
include_once "flag.php";
ini_set("display_errors", 0);
$str = strstr($_SERVER['REQUEST_URI'], '?');
$str = substr($str,1);
$str = str_replace('key','',$str);
parse_str($str);
echo md5($key1);
echo md5($key2);
if(md5($key1) == md5($key2) && $key1 !== $key2){
echo $flag."鍙栧緱flag";
}
?>
可知这是常见的md5值绕过题,利用数组就行了,md5函数无法处理数组,结果都会返回NULL
二、记录ctf.bugku.com 的题目
1、“矛盾”
页面是这样的,上面的代码意思就是当参数等于1时,就会显示flag,那我就让参数num=1
页面没反应,那我就试试?num=a
当有字母就会显示
那我就构造一个?num=1aa
成功拿flag~!!
2、
打开页面会显示这样的对话框
抓包发送到repeater来send一次↓
会找到unicode编码的flag,解一下就可以了!
3、
对于域名解析,
第一: 修改hosts文件
,路径为C:\Windows\System32\drivers\etc\hosts 在最底下添加: flag.bugku.com 120.24.86.145 保存 访问即可
第二:用Burp Suite修改Host头,