巴特西
首页
Python
Java
PHP
IOS
Andorid
NodeJS
JavaScript
HTML5
preg_match 数组绕过
php preg_match pcre回溯绕过
原理需要知识:正则NFA回溯原理,php的pcre.backtrack_limit设置. 正则NFA回溯原理正则表达式是一个可以被"有限状态自动机"接受的语言类."有限状态自动机",拥有有限数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移.常见的正则引擎被分为DFA(确定性有限状态自动机)与NFA(非确定性有限状态自动机)他们匹配输入的过程是:DFA:从起始状态开始,一个字符一个字符读取输入串,根据正则一步步确定至下一个转移状态,直到匹配
[原题复现+审计][0CTF 2016] WEB piapiapia(反序列化、数组绕过)[改变序列化长度,导致反序列化漏洞]
简介 原题复现: 考察知识点:反序列化.数组绕过 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 漏洞学习 数组绕过 1.1 url传递数组当我们要向服务器传递数组时,我们可以通过 http://127.0.0.1/index.php?a[]=hello&a[]=world 来传递,这样,在后端, $a = $_GET['a']; 就可以接收到 $a[0]="hello", $a[1]=&q
2016 piapiapia 数组绕过
0x00.感悟 写完这道题,我感觉到了扫源码的重要性.暑假复现的那些CVE,有的就是任意文件读取,有的是任意命令执行,这些应该都是通过代码审计,得到的漏洞.也就和我们的CTF差不多了. 但是我们扫目录,字典是个大问题,我目前还没有搞懂为什么有些文件,只能被一些特定的软件扫到.比如这道题,这个dirsearch,连www.zip这样的变态目录都能扫出来,为什么扫不出update.php这样极其常见的目录.而且题目的源码,就只能用dirsearch扫到,dirb和nikto就不行.
[原题复现+审计][ZJCTF 2019] WEB NiZhuanSiWei(反序列化、PHP伪协议、数组绕过)
简介 原题复现:https://github.com/CTFTraining/zjctf_2019_final_web_nizhuansiwei/ 考察知识点:反序列化.PHP伪协议.数组绕过 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 过程 打开页面看到源码先审计 大致分析flag在flag.php里面 先想办法绕过这些限制到达 文件包含那一块 绕过file_get_contents() 将welcom
代码审计-strpos数组绕过
<?php $flag = "flag"; if (isset ($_GET['ctf'])) { if (@ereg ("^[1-9]+$", $_GET['ctf']) === FALSE) echo '必须输入数字才行'; else if (strpos ($_GET['ctf'], '#biubiubiu') !== FALSE) die('Flag: '.$flag); else echo '骚年,继续努力吧啊~'; } ?> ereg()函数
preg_match绕过总结
preg_match绕过总结 什么是preg_match 绕过方法 1.数组绕过 preg_match只能处理字符串,当传入的subject是数组时会返回false 2.PCRE回溯次数限制 PHP利用PCRE回溯次数限制绕过某些安全限制 import requests from io import BytesIO files = { 'file': BytesIO(b'aaa<?php eval($_POST[txt]);//' + b'a' * 1000000) } res = reques
代码审计-sha()函数比较绕过
<?php $flag = "flag"; if (isset($_GET['name']) and isset($_GET['password'])) { var_dump($_GET['name']); echo " "; var_dump($_GET['password']); var_dump(sha1($_GET['name'])); var_dump(sha1($_GET['password'])); if ($_GET['name'] == $_
数据库语法整理及WAF绕过方式
关系型数据库 关系型数据库:指采用了关系模型来组织数据的数据库. 直白的说就是:关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织 当今主流的关系型数据库有:Oracle,Microsoft SQL Server,MySQL,PostgreSQL,DB2, Microsoft Access, SQLite,MariaDB Oracle Oracle特性: select id,contents,time from news where news_id=1 ① union
BugkuCTF~代码审计~WriteUp
第一题:extract变量覆盖 知识简介 extract()函数语法: extract(array,extract_rules,prefix) 参数 描述 array必需. 规定要使用的数组. extract_rules可选. extract() 函数将检查每个键名是否为合法的变量名,同时也检查和符号表中已存在的变量名是否冲突.对不合法和冲突的键名的处理将根据此参数决定. 可能的值: EXTR_OVERWRITE - 默认.如果有冲突,则覆盖已有的变量. EXTR_SKIP - 如果有冲突,不覆
PHP 函数漏洞总结
1.MD5 compare漏洞 PHP在处理哈希字符串时,会利用"!="或"=="来对哈希值进行比较,它把每一个以"0E"开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以"0E"开头的,那么PHP将会认为他们相同,都是0. 常见的payload有 0x01 md5(str) QNKCDZO 240610708 s878926199a s155964671a s214587387a s214587387
ISCC2018(web)
ISCC2018 web writeup (部分) #web1:比较数字大小 只要比服务器上的数字大就好了 限制了输入长度,更改长度就好 #web2: 普通的代码审计,数组绕过 #web3:本地的诱惑 小明扫描了他心爱的小红的电脑,发现开放了一个8013端口,但是当小明去访问的时候却发现只允许从本地访问,可他心爱的小红不敢让这个诡异的小明触碰她的电脑,可小明真的想知道小红电脑的8013端口到底隐藏着什么秘密(key)?(签到题) 额……题目好像坏掉了,用的是XFF #web4:你能跨过去吗? 如
MOCTF-WEB-writeup
MOCTF-WEB-writeup 好菜,除了简单的几个题,自己会做,难的都是看老大WP完成的,太菜了 啥姿势都不会,就此记录一下,供日后查看及反省.菜鸡的自我修养 0x01 一道水题 题目链接:http://119.23.73.3:5001/web1/ 直接F12了解一下,get flag:moctf{easy_source_code} 0x02 还是水题 题目链接:http://119.23.73.3:5001/web2/ F12查看源码. 修改之后,输入moctf提交就可以行了.get f
Bugku 代码审计
0x01.extract变量覆盖 代码: <?php$flag='xxx';extract($_GET);if(isset($shiyan)){$content=trim(file_get_contents($flag));if($shiyan==$content){echo'flag{xxx}';}else{echo'Oh.no';}}?> GET型传入参数,如果变量shiyan=content,则输出答案 extract()函数用法: extract() 函数从数组中将变量导入到当前的符号
刷题记录:[De1ctf] shell shell shell
目录 刷题记录:[De1ctf] shell shell shell 一.知识点 1.源码泄露 2.正则表达式不完善导致sql注入 3.soapclient反序列化->ssrf 4.扫描内网 5.$file[count($file) - 1]和$ext = end($file)获取后缀名方式不同 6.绕过unlink 刷题记录:[De1ctf] shell shell shell 题目复现链接:https://buuoj.cn/challenges 参考链接:De1ctf - shell she
刷题记录:[0CTF 2016]piapiapia
目录 刷题记录:[0CTF 2016]piapiapia 一.涉及知识点 1.数组绕过正则及相关 2.改变序列化字符串长度导致反序列化漏洞 二.解题方法 刷题记录:[0CTF 2016]piapiapia 题目复现链接:https://buuoj.cn/challenges 参考链接:0CTF-2016-piapiapia 一.涉及知识点 1.数组绕过正则及相关 参考利用数组绕过问题小总结 md5(Array()) = null sha1(Array()) = null ereg(pattern
[代码审计]PHP_Bugs题目总结(2)
写的有点多了,上一篇放在一起显得有点臃肿,就再起一篇吧~ 迷路的老铁点这里:[代码审计]PHP_Bugs题目总结(1) 0x14 intval函数四舍五入 <?php if($_GET[id]) { mysql_connect(SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS); mysql_select_db(SAE_MYSQL_DB); $id = intval($_GET[id]); ## 这里过滤只
嘶吼CTF2019总结(Web部分题目复现以及部分杂项)
easy calc 这次的比赛自己一题都没有做出来,赛后看题解的时候很难受,其实有很多东西自己其实是可以做出来的,但是思路被限制了,可能这就是菜吧. 首先web题目就是一个easy calc,emmmmmmm.想一想当初De1CTF2019的那道计算器.脑子头大.但是这一题是没有那么难. 首先打开网页是一个简单的提交页面.  这里面是提交到calc.php这个文件中,这里面有一个坑,就是要想看到源码,必须要不提交数据(但是我就没有看出这一点导致后面的路越来越难走,以至放弃). 获取源码 我们去
BUUCTF知识记录
[强网杯 2019]随便注 先尝试普通的注入 发现注入成功了,接下来走流程的时候碰到了问题 发现过滤了select和where这个两个最重要的查询语句,不过其他的过滤很奇怪,为什么要过滤update,delete,insert这些sql语句呢? 原来这题需要用到堆叠注入: 在SQL中,分号(;)是用来表示一条sql语句的结束.试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入,而堆叠注入可以执行任意sql语句 这下就好理解了,过滤上面那些语
Bugku web(1—35)
1.web2 打开网页: 哈哈,其实按下F12你就会发现flag. 2.计算器 打开网页,只是让你输入计算结果,但是发现只能输入一个数字,这时按下F12,修改一下参数,使之可以输入多个数字,修改后输入结果就拿到flag了. 3.web基础$_GET 30 打开网页,审计一下大概是要让其得到一个what=flag,于是在URL后面加上?what=flag,就得到flag了. 4.web基础$_POST 30 打开网页,审计一下大概是要让你上传一个what=flag,用hackbar来post一下就
Buu刷题
前言 希望自己能够更加的努力,希望通过多刷大赛题来提高自己的知识面.(ง •_•)ง easy_tornado 进入题目 看到render就感觉可能是模板注入的东西 hints.txt给出提示,可以看到url中的filehash 呢么意思就是如果知道cookie_secret的话,再结合md5的filename就可以读到/flllllag了把 其实到这里我就没什么思路了,对于render肯定存在模板的问题,百度了一下标题tornado Tornado是一种 Web 服务器软件的开源版本.Torn
NCTF2018_easy_audit->;coding_breaks
easy_audit 题目源码 <?php highlight_file(__FILE__); error_reporting(0); if($_REQUEST){ foreach ($_REQUEST as $key => $value) { if(preg_match('/[a-zA-Z]/i', $value)) die('waf..'); } } if($_SERVER){ if(preg_match('/yulige|flag|nctf/i', $_SERVER['QUERY_STR
热门专题
山东科技大学liunx 考试编程题
spring boot 数据库 properties
idea启动vue命令
awk 提取文件字符串之间的内容
activiti 执行监控 注入servece失败
nvidia tesla k80显卡驱动安装不成功
openwrt lede源码下载地址
react input中ref
tensorflow 模型保存,继续,微调参数
vs2017中TempData
会话 cookie 中缺少 HttpOnly 属性
交换机ipv6配置实例
js获取360浏览器检测出的是谷歌
pl2303与pl232
调用event.keyCode里的event已过时怎么办
docker ca认证
sql2008 R2 “找不到数据库引擎启动句柄
java rabbit MQ消费者
python 3.7 安装不了theano
linux svn使用chekout