南京邮电大学网络攻防训练平台
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";}
?>
PHP弱类型,在url后面构造< ?a=* >(*的md5为0e开头)即可。
flag: nctf{md5_collision_is_easy}
签到2
按照题目说的做,输入口令“zhimakaimen”,然后点击开门,然而没有生效。
这时检查一下视图:
发现value一项为空。我们编辑一下:
<input type="password" value="zhimakaimen" name="text1" maxlength="10">
再点击一下开门,得到flag
nctf{follow_me_to_exploit}
这题不是WEB
打开题目后看到一张gif图,又说不是web题,那就把图片下载下来查看一下。
因为我在linux上做的直接命令行 vim 2.gif ;
Windows上可以用notepad等直接打开。
得到flag: nctf{photo_can_also_hid3_msg}
单身二十年 and 单身一百年也没用
这两道题是相同的——302跳转,我们需要抓取跳转过程中的网页。
可以用Python中的requests模块解决这类问题。
import requests
u='http://chinalover.sinaapp.com/web9/index.php'
print requests.get(u,allow_redirects=False).headers
只需要3行代码就搞定。
需要注意的是:前者的flag在content中,后者在headers中。
flag: nctf{yougotit_script_now};nctf{this_is_302_redirect}
COOKIE
打开题目后发现什么也没有,检查一下数据,发现:
Cookie: Login=0
根据提示 0==not ,我们用burpsuite抓包,把 0 改成 1 即可。
flag: nctf{cookie_is_different_from_session}
MYSQL
其实这是一道代码审计题。
打开题目后跟着提示,在url后面加上robots.txt ,回车,发现一段代码。
<?php
if($_GET[id]) {
mysql_connect(SAE_MYSQL_HOST_M .