Web安全练习(一)


web安全实战为主,但是未授权网站违法,故做点CTF的题,本想从实验吧开始无奈还在维护,所以从南邮CTF入手

签到题

直接出答案,最简单的题

md5 collision

这道题,给了一段PHP代码

1
2
3
4
5
6
7
8
9
10
$md51 = md5('QNKCDZO');
$a = @$_GET['a'];
$md52 = @md5($a);
if(isset($a)){
if ($a != 'QNKCDZO' && $md51 == $md52) {
echo "nctf{*****************}";
} else {
echo "false!!!";
}}
else{echo "please input a";}

首先对md51的值进行md5加密,然后用户输入一个md52的值,但是用户输入的字符不能和md51一样同时md5值要相同。

这里一共有两个知识点,md5 0e开头和==php中存在的问题

首先我们先解决第一个问题,对QNKCDZO进行md5加密得到0e830400451993494058024219903391

第二个问题关于==php中存在的安全问题,PHP在处理哈希字符串时,会利用!===来对哈希值进行比较,它把每一个以0E开头的哈希值都解释为0

所以这里找一个0e开头的字符串就ok了,比如s878926199a对应0e545993274517709034328855841020

签到2

这也是一道简单题,不会做就先右键看看源码

这个口令绝对比10个字符要长,所以改下长度就好

这题不是web

打开题发现一个动图,不是web就下载图片,cat 2.gif 即可看到flag

层层递进

打开先查看源码,发现一个SO.html打开,在看源码发现一个S0.html,再看源码,到最后找到一个404.html

右键源码中拿到flag

AAencode

打开网站发现这个

题目提示aaencode,google到一个网站http://www.atoolbox.net/Tool.php?Id=703解密到flag

单身二十年

打开先看源码

点击进去,发现跳转到no_key_is_here_forever.php ,这里应该使用了js进行跳转

这里我直接使用了burp进行抓包,发现使用了window.location=

拿到flag

PHP encode

一道看源码的题,那么分析下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function CLsI($ZzvSWE) {
$ZzvSWE = gzinflate(base64_decode($ZzvSWE));
for ($i = 0; $i < strlen($ZzvSWE); $i++) {
$ZzvSWE[$i] = chr(ord($ZzvSWE[$i]) - 1);
}
return $ZzvSWE;
}
eval(CLsI("+7DnQGFmYVZ+eoGmlg0fd3puUoZ1fkppek1GdVZhQnJSSZq5aUImGNQBAA=="));
?>

直接找个php沙盒运行,需要把eval改成echo

文件包含

使用php://filter协议包含index.php文件

1
php://filter/read=convert.base64-encode/resource=index.php

得到base64加密文件

1
PGh0bWw+CiAgICA8dGl0bGU+YXNkZjwvdGl0bGU+CiAgICAKPD9waHAKCWVycm9yX3JlcG9ydGluZygwKTsKCWlmKCEkX0dFVFtmaWxlXSl7ZWNobyAnPGEgaHJlZj0iLi9pbmRleC5waHA/ZmlsZT1zaG93LnBocCI+Y2xpY2sgbWU/IG5vPC9hPic7fQoJJGZpbGU9JF9HRVRbJ2ZpbGUnXTsKCWlmKHN0cnN0cigkZmlsZSwiLi4vIil8fHN0cmlzdHIoJGZpbGUsICJ0cCIpfHxzdHJpc3RyKCRmaWxlLCJpbnB1dCIpfHxzdHJpc3RyKCRmaWxlLCJkYXRhIikpewoJCWVjaG8gIk9oIG5vISI7CgkJZXhpdCgpOwoJfQoJaW5jbHVkZSgkZmlsZSk7IAovL2ZsYWc6bmN0ZntlZHVsY25pX2VsaWZfbGFjb2xfc2lfc2lodH0KCj8+CjwvaHRtbD4=

解密即得到flag

总结

从这里学到了一些东西

1
2
1. 关于php://filter协议进行文件包含进行源码泄露
2. 遇到网站多看看它的html文件,可能有好东西
文章目录
  1. 1. 签到题
  2. 2. md5 collision
  3. 3. 签到2
  4. 4. 这题不是web
  5. 5. 层层递进
  6. 6. AAencode
  7. 7. 单身二十年
  8. 8. PHP encode
  9. 9. 文件包含
  10. 10. 总结
|