[SUCTF 2019]EasySQL1 及sql_mode】的更多相关文章

(我被虐到了,呜呜呜) 当 sql_mode 设置了 PIPES_AS_CONCAT 时,|| 就是字符串连接符,相当于CONCAT() 函数 当 sql_mode 没有设置 PIPES_AS_CONCAT 时 (默认没有设置),|| 就是逻辑或,相当于OR函数 听说有大佬就三个字母就解决了,我枯了,payload:*,1,听说是直接猜出了源码select $_GET['query'] || flag from flag 这种方式拼接出来那就是select *,1||flag from Flag…
目录 刷题记录:[SUCTF 2019]EasySQL 一.涉及知识点 1.堆叠注入 2.set sql_mode=PIPES_AS_CONCAT;将||视为字符串的连接操作符而非或运算符 3.没有过滤*的时候可以直接注入* 二.解题方法 刷题记录:[SUCTF 2019]EasySQL 题目复现链接:https://buuoj.cn/challenges 参考链接:SUCTF_2019_部分复现 一.涉及知识点 1.堆叠注入 2.set sql_mode=PIPES_AS_CONCAT;将||…
目录 刷题记录:[SUCTF 2019]EasyWeb(EasyPHP) 一.涉及知识点 1.无数字字母shell 2.利用.htaccess上传文件 3.绕过open_basedir/disable_function的几种方法 刷题记录:[SUCTF 2019]EasyWeb(EasyPHP) 题目复现链接:https://buuoj.cn/challenges 参考链接:SUCTF-2019 2019 SUCTF Web writeup 2019-SUCTF-web记录 一.涉及知识点 1.…
目录 刷题记录:[SUCTF 2019]Pythonginx 一.涉及知识点 1. CVE-2019-9636:urlsplit不处理NFKC标准化 2.Nginx重要文件位置 二.解题方法 刷题记录:[SUCTF 2019]Pythonginx 题目复现链接:https://buuoj.cn/challenges 参考链接:2019 SUCTF wp SUCTF_2019_部分复现 一.涉及知识点 1. CVE-2019-9636:urlsplit不处理NFKC标准化 https://bugs…
目录 刷题记录:[SUCTF 2019]CheckIn 一.涉及知识点 1.利用.user.ini上传\隐藏后门 2.绕过exif_imagetype()的奇技淫巧 二.解题方法 刷题记录:[SUCTF 2019]CheckIn 题 目复现链接:https://buuoj.cn/challenges 参考链接:从SUCTF 2019 CheckIn 浅谈.user.ini的利用 一.涉及知识点 1.利用.user.ini上传\隐藏后门 参考链接:user.ini文件构成的PHP后门 条件: 1.…
SUCTF 2019 Upload labs 2 踩坑记录 题目地址 : https://github.com/team-su/SUCTF-2019/tree/master/Web/Upload Labs 2 最近恶补了一下 SoapClient 反序列化和 MySQL 客户端任意文件读取的知识,这个题目很好的说明了这两个知识点 有一个问题,GitHub 上的代码有点错误,admin.php 中第 63 行 $arg2 = $_POST['arg3']; 要改成 $arg3 = $_POST['…
考点:1.堆叠注入 2.set sql_mode=PIPES_AS_CONCAT;将||视为字符串的连接操作符而非或运算符 意外:注入* 复现: 1;set sql_mode=PIPES_AS_CONCAT;select 1 在oracle 缺省支持 通过 ‘ || ’ 来实现字符串拼接,但在mysql 缺省不支持.需要调整mysql 的sql_mode 模式:pipes_as_concat 来实现oracle 的一些功能 意外是 * 没有过滤,可以直接注入* *,1 学习链接: MySQL中s…
fuzz ing了一下,发现了一堆过滤: 同时发现了注入点,这个应该是var_dump()函数 ===============第二天的分割线 好吧我放弃了,找了一下wp 正确解:select 1;set sql_mode=pipes_as_concat;select 1||flag from Flag 这种解发第一次遇到赶紧在自己的环境下研究一下: 解析: 补充系统变量@@sql_modesql_mode:是一组mysql支持的基本语法及校验规则PIPES_AS_CONCAT:将“||”视为字符…
首先打开网址 发现有三种显示方法 还有一个没有输出 可以堆叠注入 1;show databases; 1;show tables; 可以看到有一个Flag表 测试发现from flag都被过滤不能直接读到flag 想了很久想不到 看别人wp了~ 看见听说比赛的时候原理泄漏了的 select $_GET['query'] || flag from flag 是这样 md 谁想的到啊 别欺负我们菜鸡好不好 不过由于没有过滤 * 出现了一个意外解*,1 预期解 在oracle 缺省支持 通过 ‘ ||…
贴出源码 @app.route('/getUrl', methods=['GET', 'POST']) def getUrl(): url = request.args.get("url") host = parse.urlparse(url).hostname #解析url,赋值hostname if host == 'suctf.cc': return "我扌 your problem? 111" parts = list(urlsplit(url)) #lis…
进入靶场只有一个文件上传界面,上传php一句话木马提示非法后缀. 尝试利用php后缀的多样性绕过,发现都被过滤掉了,先把php改成.jpg的图片,提示说有问号在内容中. php后缀的多样性:php语言除了可以解析以php为后缀的文件,还可以解析php2,php3.php4.php5.php6.phtml.pht.pHp,Php,phP这些后缀的文件.(php1.php2上传失败php3.php4仍有可能上传成功,因为不同的服务器,可以上传的文件类型也不同,所以需要进行逐个排除) 利用JavaSc…
0x00 知识点 本题知识量巨大,把我给看傻了..盯着网上师傅们的博客看了好久.. 知识点1 构造不包含数字和字母的webshell 思路来自p牛 参考链接: https://www.leavesongs.com/PENETRATION/webshell-without-alphanum.html php5中assert是一个函数,我们可以通过$f='assert';$f(...);这样的方法来动态执行任意代码 但php7中,assert不再是函数,变成了一个语言结构(类似eval),不能再作为…
简介  原题复现: 1 <?php 2 session_start(); 3 4 include_once "config.php"; 5 6 $post = array(); 7 $get = array(); 8 global $MysqlLink; 9 10 //GetPara(); 11 $MysqlLink = mysqli_connect("localhost",$datauser,$datapass); 12 if(!$MysqlLink){ 1…
buuoj杂项复现 下载了之后给了我们一张图片了网站的源代码 图片简单分析了之后没有什么内容,先看源代码的index.html 里面有base32编码,解码 ON2WG5DGPNUECSDBNBQV6RTBNMZV6RRRMFTX2=== 得到:suctf{hAHaha_Fak3_F1ag} 可以知道这是一个假的flag 我们将重点回归到图片本身 进行LSB分析 可以看到有加密字符串 根据U2FsdGVkX1我们知道是DES加密,因为DES加密之后开头都是这几位,不过解密需要秘钥. 这里的脑洞,…
感觉这题师傅们已经写得很详细了,我就做一个思路梳理吧,顺道学一波.user.ini 步骤: 1.上传一个“.user.ini”文件 2.上传自己的马“a.jpg” 3.菜刀连接 "http://b302f16c-6762-4496-be93-e544912aaf0d.node3.buuoj.cn/uploads/f4e7685fe689f675c85caeefaedcf40c/index.php",密码“pass” 解析: <?php // error_reporting(0);…
比较经典的一道文件上传题,考察.user.ini控制解析图片方式 打开题目给出了上传功能,源代码里也没有任何提示,看来需要先测试一下过滤 前后依次提交了php,php5,php7,phtml拓展名的文件,发现都被过滤,并且PHP代码中不能含有<?字符 这个时候首先想到利用HTML的<script language='php'>标签来插入PHP代码 但是拦截了常规的PHP拓展名,第一时间想到上传一个含有PHP代码的jpg文件,然后利用.htaccess来将jpg文件当作PHP文件解析 发现…
解题思路 打开网页发现只是简单做了一个上传界面,朴实无华 上传一个php文件,发现非法后缀. 上传一个.htaccess文件,发现,爆出很重要的信息 exif_imagetype函数通过检测文件头来检测是否是规定的格式,这里我们只需构造头文件为GIF98a,内容自定的图片马,即可绕过函数限制 上传后发现<?被禁用,使用另外的方法. 提交后发现上传成功,路径为:uploads/adeee0c170ad4ffb110df0cde294aecd 现在思考如何利用图片马.需要有一个文件能包含我们的图片马…
简介  原题复现:https://github.com/team-su/SUCTF-2019/tree/master/Web/checkIn  考察知识点:上传绕过..user.ini  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 过程 拿到题老方法 各种绕过尝试 经过测试 得知有:后缀名检测(php,php1.php5.phtml不行).文件内容不能有<? .必须是图片类型.低啊用了这个函数exif_imag…
[强网杯 2019]随便注 先尝试普通的注入 发现注入成功了,接下来走流程的时候碰到了问题 发现过滤了select和where这个两个最重要的查询语句,不过其他的过滤很奇怪,为什么要过滤update,delete,insert这些sql语句呢? 原来这题需要用到堆叠注入: 在SQL中,分号(;)是用来表示一条sql语句的结束.试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入,而堆叠注入可以执行任意sql语句 这下就好理解了,过滤上面那些语…
目录 .htaccess tricks总结 一.什么是.htaccess 二.利用条件 三.利用方式 && tricks 1.将指定后缀名的文件当做php解析 2.php_value利用php中的配置 3.tricks .htaccess tricks总结 .htaccess在CTF Web中还是很常见的,今天又做到一道很有意思的题,下定决心总结一波 一.什么是.htaccess 参考Apache HTTP Server Tutorial: .htaccess files .htacces…
目录 php反序列化 一.序列化 二.魔术方法 1.构造函数和析构函数 2.__sleep()和__wakeup() 3.__toString() 4.__set(), __get(), __isset(), __unset() 5.其他 三.序列化细节 1.序列的含义 2.public.protected.private下序列化对象的区别 四.反序列化的利用 五.Session序列化问题 六.Phar反序列化 php反序列化 一.序列化 所有php里面的值都可以使用函数serialize()来…
目录 一.客户端校验 1.禁用JS 2.抓包改包 二.服务端校验 1.MIME类型检测 2.后缀名黑名单校验 3.后缀名白名单校验 4.内容头校验 5.竞争上传 6.过滤<?或php 两种校验方式 客户端校验(javascript校验) 服务端校验 一.客户端校验 绕过方法 抓包改包 禁用JS 1.禁用JS 如果是弹窗提示,打开控制台->网络,上传时没有请求发出去,说明是在本地校验 火狐插件-yescript2 老版本可以使用WebDeveloper 2.抓包改包 用bp抓包后直接改后缀名 二…
[CISCN2019 华北赛区 Day1 Web1]Dropbox 打开题目,一个登录界面,SQL? sqlmap跑一下,没有注入,那么注册一下 登录之后,发现只有一个上传页面,源码里面也没有什么 那就上传看看吧,只能上传图片格式的 上传一个试试 上传之后,发现有下载和删除选项,下载抓包看看. 在下载文件存在任意文件下载漏洞 在index.php里面看到包含了文件class.php,然后在下载其他文件,不过没有flag.php或者flag.txt 那么就代码审计 download.php,简单的…
概要 来自Secarma的安全研究员Sam Thomas发现了一种新的漏洞利用方式,可以在不使用php函数unserialize()的前提下,引起严重的php对象注入漏洞.这个新的攻击方式被他公开在了美国的BlackHat会议演讲上,演讲主题为:”不为人所知的php反序列化漏洞”.它可以使攻击者将相关漏洞的严重程度升级为远程代码执行.我们在RIPS代码分析引擎中添加了对这种新型攻击的检测. 关于流包装 大多数PHP文件操作允许使用各种URL协议去访问文件路径:如data://,zlib://或p…
比赛信息 比赛地址:Buuctf靶场 内心os(蛮重要的) 我只想出手把手教程,希望大家能学会然后自己也成为ctf大佬,再来带带我QWQ 被偷走的文件 | SOLVED | foremost分离一下文件,发现有rar用软件跑一下有了密码 flag{6fe99a5d03fb01f833ec3caa80358fa3} [GXYCTF2019]佛系青年 | SOLVED | 下载文件,发现有一个没加密和加密文件,发现它是伪加密 2处不一样,然后修改成00,就可以解压了发现 这个图片其实是jpg,然后发…
前言 因为最近在准备开发CTF学习平台,先做一个学习路线的整理,顺便也是对想学web的学弟学妹的一些建议. 学习路线 初期 刚刚走进大学,入了web安全的坑,面对诸多漏洞必然是迷茫的,这时的首要任务就是打好网站开发的基础,曾有伟人说过-"自己不会做网站,何谈去找网站的漏洞",在学习漏洞前,了解基本网站架构.基础网站开发原理,基础的前后端知识,能够让你之后的漏洞学习畅通无阻. html+css+js(2-3天) 前端三要素 html.css.js是被浏览器解析的代码,是构成静态页面的基础…
极客大挑战 2019]EasySQL-1 直接通过输入万能密码:' or 1=1#实现注入: 思考:服务端sql语句应该为:select * from users where username='xxx' and password='xxx';,但在实际开发中应该更多的是select password from users where username='xxx';然后将获得的密码与输入的密码(可能存在加密)进行比对,因此在实际中此种漏洞应该极少存在. 极客大挑战 2019]Havefun 打开…
极客大挑战 2019]EasySQL-1 直接通过输入万能密码:' or 1=1#实现注入: 思考:服务端sql语句应该为:select * from users where username='xxx' and password='xxx';,但在实际开发中应该更多的是select password from users where username='xxx';然后将获得的密码与输入的密码(可能存在加密)进行比对,因此在实际中此种漏洞应该极少存在. 极客大挑战 2019]Havefun 打开…
原因: MySQL 5.7.5及以上功能依赖检测功能.如果启用了ONLY_FULL_GROUP_BY SQL模式(默认情况下),MySQL将拒绝选择列表,HAVING条件或ORDER BY列表的查询引用在GROUP BY子句中既未命名的非集合列,也不在功能上依赖于它们. (5.7.5之前,MySQL没有检测到功能依赖关系,默认情况下不启用ONLY_FULL_GROUP_BY.有关5.7.5之前的行为的说明,请参见“MySQL 5.6参考手册”.) 一.临时性解决 终端执行 set @@globa…
Checkin .user.ini构成php后门利用,设置auto_prepend_file=01.jpg,自动在文件前包含了01.jpg,利用.user.ini和图片马实现文件包含+图片马的利用. 而.htacess构造后门是通过上传.htaccess设置AddType application/x-httpd-php .jpg,将jpg文件作为php解析,getshell 补上脚本: 修改下与easyphp中的可以通用 import requests import base64 url = "…