2018~第三届南宁市网络安全技术大赛~nnctf~write-up
Web
1.超简单
分值:100 类型:WEB 已解决
题目:超简单的web题 http://gxnnctf.gxsosec.cn:12311/

代码审计
<?php
$white_list = range(0,9);
require_once('flag.php');
if(isset($_REQUEST['no'])){ //非空
$a=$_REQUEST['no'];
if(@ereg("^[0-9]+$", $a) === FALSE){ //必须为数字
echo 'no must be number';
}else{
if(in_array($a,$white_list)){ //数字必须在$white_list白名单里
if(strlen($a)>1){ //但是if(strlen($a))长度必须>1
echo 'you are a great dark phper<br>';
echo "<img src='dark.gif'><br>";
echo $flag;
}else{
echo 'you no dark';
}
}else{
echo 'you are so dark';
}
}
}else
highlight_file(__FILE__);
构造payload的两种方法:
?no=0000
?no=0%00 //erge()函数 %00截断

2.帽子商城
分值:200 类型:WEB 未解决
题目:有帽子你就能变强,去这买几顶帽子吧 http://gxnnctf.gxsosec.cn:12313
3.Sql???
分值:200 类型:WEB 已解决
题目:小明想当一名黑客,于是学习写网站,但他遇到点问题,帮帮他吧 http://gxnnctf.gxsosec.cn:12312/

按照一般思路测试id, 200OK



看到这些首先想到测试ID,是否存在注入,试了各种姿势未果,发现大部分关键字都被过滤,联合注入、盲注都走不通,于是想到可能存在其它辅助漏洞,用御剑扫描工具进行扫描发现http://gxnnctf.gxsosec.cn:12312/网站目录/.git/存在git泄漏,直接利用git恢复工具恢复文件,到这里希望就很大了,仿佛找到了sql大门,当初没有直接想到先扫描一下网站,导致浪费了很多时间 (T_T)
https://github.com/style-404/Git_Extract //git恢复工具
/.git/文件恢复


对index.php进行代码审计

审计发现几乎所有的关键字都被过滤了,但是case when关键字没有被过滤,利用MySQL的case when的特性进行绕过,判断变量是否为空,若为空赋值为2,不为空的话查询结果为1。第一次查询返回2,第二次查询返回1。
case when测试:

条件满足:
1. 参数id在里面进行两次sql查询,第一次需要id=2、第二次需要id=1
2. 参数backdoor=Melonrind
构造payload
http://gxnnctf.gxsosec.cn:12312/?id=case%20when%20@nnctf%20is%20null%20then%20@nnctf:=2%20else%20@nnctf:=@nnctf-1%20end&backdoor=Melonrind

2018~第三届南宁市网络安全技术大赛~nnctf~write-up的更多相关文章
- 第一届合天杯河北科技大学网络安全技术大赛 web6 writeup
- 2017年陕西省网络空间安全技术大赛——种棵树吧——Writeup
2017年陕西省网络空间安全技术大赛——种棵树吧——Writeup 下载下来的zip解压得到两个jpg图片,在Kali中使用binwalk查看文件类型如下图: 有两个发现: 1111.jpg 隐藏了一 ...
- 2017年陕西省网络空间安全技术大赛——一维码——Writeup
<!doctype html> 2017年陕西省网络空间安全技术大赛——一维码——Writeup 先判断下载的文件flag.png确实是png格式的图片后(binwalk, file命令均 ...
- 阿里云IPv6 DDoS防御被工信部认定为“网络安全技术应用试点示范项目”
近日,阿里云数据中心骨干网IPv6 DDoS网络安全防御被工业和信息化部认定为“网络安全技术应用试点示范项目”,本次评选由工业和信息部网络安全管理局发起,从实用性.创新性.先进性.可推广性等维度展 ...
- ACM-ICPC 2018 沈阳赛区网络预赛 K Supreme Number(规律)
https://nanti.jisuanke.com/t/31452 题意 给出一个n (2 ≤ N ≤ 10100 ),找到最接近且小于n的一个数,这个数需要满足每位上的数字构成的集合的每个非空子集 ...
- ACM-ICPC 2018 南京赛区网络预赛 J.sum
A square-free integer is an integer which is indivisible by any square number except 11. For example ...
- Trace 2018徐州icpc网络赛 (二分)(树状数组)
Trace There's a beach in the first quadrant. And from time to time, there are sea waves. A wave ( xx ...
- ACM-ICPC 2018 南京赛区网络预赛 E题
ACM-ICPC 2018 南京赛区网络预赛 E题 题目链接: https://nanti.jisuanke.com/t/30994 Dlsj is competing in a contest wi ...
- ACM-ICPC 2018 南京赛区网络预赛B
题目链接:https://nanti.jisuanke.com/t/30991 Feeling hungry, a cute hamster decides to order some take-aw ...
随机推荐
- bzoj2437 [Noi2011]兔兔与蛋蛋
二分图博弈果然都是一个套路,必经点必胜,非必经点必败, 但是肯定不能每走一步就重新建图判断必胜还是必败,那么我们可以这样:每走一步就把这个点删掉,然后find他原来的匹配,如果找不到,就说明他是必经点 ...
- bzoj 2759一个动态树好题
真的是动态树好题,如果把每个点的父亲设成p[x],那么建出来图应该是一个环套树森林,拆掉一条边,就变成了动态树,考虑维护什么,对于LCT上每个节点,维护两组k和b,一组是他到他父亲的,一组是他LCT子 ...
- BZOJ_2743_[HEOI2012]采花_离线+树状数组
BZOJ_2743_[HEOI2012]采花_离线+树状数组 Description 萧芸斓是Z国的公主,平时的一大爱好是采花.今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花 .花园足够大 ...
- java集合框架之HashMap
参考http://how2j.cn/k/collection/collection-hashmap/365.html#nowhere HashMap的键值对 HashMap储存数据的方式是-- 键值对 ...
- Ceilometer + Aodh + Gnocchi 介绍
一. Ceilometer 1. 概述 Openstack ceilometer主要用于监控虚拟机.服务(glance.image.network等)和事件.虚拟机的监控项主要包括CPU.磁盘 ...
- python 将os.getcwd()获取路径中的\替换成\\
通过os.getcwd()获取的路径为:D:\Auto\test\mobule,实际需要修改为:D://Auto//test//mobule 代码实现如下: import osb = os.getcw ...
- appium+python+eclipse 自动化测试框架构建!
经过几天的慢慢研究,现将所需用的自动化框架进行了构建,在后期的代码编写中,直接在框架中套用编写对应的module.case等即可,以此来简化测试方式,提高代码的编写效率与规范 基本的架构设计流程图,如 ...
- Node中流的概念
在学习node的过程中,对于流的概念一直不是很理解,通过查阅一些资料,现在将自己对流的一些理解进行总结一下. 一.流的理解 首先我们必须知道什么是流,很多书中只是提到使用流读写文件怎么怎么方便,却不提 ...
- 你真的了解ASP.NET Core 部署模型吗?
---------------------------- 以下内容针对 ASP.NET Core2.1,2.2出现IIS进程内寄宿 暂不展开讨论-------------------------- ...
- 刨根问底:if 后怎么就可以跟对象,变量交换写法是语法糖吗?
1.万物皆可布尔 一般语言中的 if 语句语法是这样的: if (条件表达式){ 执行语句} 而在 Python 中,if 后面不仅可以是条件表达式,还可以是任意对象.例如: my_list = ...