南邮网络攻防web1-6
1.签到题
点进去后,看到key在哪里?查看源代码后,发现flag
考察点: WEB网页源代码中信息的隐藏 HTML中可以隐藏信息的方法(可以用注释、head头部、超链接等等)
2.md5 collision
源码
<?php
$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";}
?>
思路:要想得到flag,就要满足:1.$a的值不为空并且不为‘QNKCDZO’,2.$md51==$md52。
$md51的值经过MD5加密之后的值为“0E830400451993494058024219903391”。可以看到$md51的值是以“0E”开头的。以“0E”开头的哈希值都解释成0。
“==”只是比较最后类型转换之后的数值是否相同,不要求数据类型与数值完全一致(PHP中的全等“===”才要求这样的条件),故我们只需找到一个经过md5加密之后以“0E”开头的字符串并且以get的形式提交即可!
百度搜到:0E开头的字符串小结:http://www.chnpanda.com/1100.html
考察点:php代码审计,MD5碰撞
3.签到2
点进去后,看到如下图
思路:输入口令:zhimakaimen 后无反应,查看源代码后发现,输入框长度(maxlength="10")只能输入10位,而zhimakaimen有11位,故将10修改为11(F12找到maxlength="10",并做修改)。而后运行得到flag。
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
尚未登录或口令错误<form action="./index.php" method="post">
<p>输入框:<input type="password" value="" name="text1" maxlength="10"><br>
请输入口令:zhimakaimen
<input type="submit" value="开门">
</form>
</html>
考察点:代码审查
4.这题不是WEB
<html>
<title>你是在坑我?</title>
<body>
答案又是啥。。
<img src="2.gif" width="100" height="100" />
</body>
</html>
思路:进去之后看到一个gif格式的动态图,
F12查看源代码,除了图片外,没什么特别的,又提示了“这题不是WEB”,联想到是否与这个图片有关,下载图片。用notepad++打开,发现最后有flag。
考察点:图片信息隐藏
5.层层递进
点进去后,发现是一个网站
思路:查看网页源代码,看到有三个链接,点进去。可以看到src="SO.html"点进去后还是上边的图片,再由层层递进,想到查看网页源代码,直到src="404.html"。
点进去后,看到如下图,审查网页源代码,得到flag。
考察点:源代码细节阅读 题目提示
6.AAencode
思路:上网搜了一下什么是aaencode;就是将JS代码转换成常用的网络表情;打开进去后发现是乱码。
js的编码格式可以是utf-8,也可以是gbk,在火狐浏览器里可以更改文字编码。这里我们更改为unicode,
UTF-8是在互联网上使用最广的一种Unicode的实现方式之一。
1.右击三条横杠,选择菜单栏。
2.在菜单栏中点击文字编码,选择unicode。可以看到乱码变为网络表情组成的代码。
网上搜索aaencode 解密工具:https://tool.zcmzcm.org/aadecode,把上边的代码复制到里面,回车得到flag。
考察点:根据题目所给提示进行信息收集并使用信息
上一篇: 微信公众号开发完整教程四
下一篇: php按钮页面跳转页面的实现方法