0X00 扫描一下网站目录,得到网站源码,这里说下工具使用的是dirmap,亲测御剑不好用... 0x01 审计源码: index.php <?php require_once('class.php'); if($_SESSION['username']) { header('Location: profile.php'); exit; } if($_POST['username'] && $_POST['password']) { $username = $_POST['usern…
先上学习链接: https://www.freebuf.com/column/202607.html https://www.cnblogs.com/ichunqiu/p/10484832.html https://blog.csdn.net/weixin_44077544/article/details/102703489 https://www.jianshu.com/p/3b44e72444c1 知识点:PHP反序列化漏洞,字符逃逸. 着重记录一点:[转自https://www.jians…
目录 刷题记录:[0CTF 2016]piapiapia 一.涉及知识点 1.数组绕过正则及相关 2.改变序列化字符串长度导致反序列化漏洞 二.解题方法 刷题记录:[0CTF 2016]piapiapia 题目复现链接:https://buuoj.cn/challenges 参考链接:0CTF-2016-piapiapia 一.涉及知识点 1.数组绕过正则及相关 参考利用数组绕过问题小总结 md5(Array()) = null sha1(Array()) = null ereg(pattern…
一道非常有意思的反序列化漏洞的题目 花费了我不少时间理解和记忆 这里简单记录其中精髓 首先打开是一个登陆页面 dirsearch扫描到了www.zip源码备份 update.php <?php require_once('class.php'); if($_SESSION['username'] == null) { die('Login First'); } if($_POST['phone'] && $_POST['email'] && $_POST['nickn…
我尝试了几种payload,发现有两种情况. 第一种:Invalid user name 第二种:Invalid user name or password 第一步想到的是盲注或者报错,因为fuzz一波有一些是没有过滤掉的. 对于后台的拦截我想到的可能是黑名单或者是正则表达式匹配. 先不管,用字典扫一遍扫到源码直接下载下来. 每个文件都看了一遍发现root的username是可以使用的,提示出来是Invalid password 这一段是class.php的源代码 public function…
步骤: nickname[]=wherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewherewhere";}s:5:"photo";s:10:"config.php";} 这题大佬的WP已经很…
0x00.感悟      写完这道题,我感觉到了扫源码的重要性.暑假复现的那些CVE,有的就是任意文件读取,有的是任意命令执行,这些应该都是通过代码审计,得到的漏洞.也就和我们的CTF差不多了.     但是我们扫目录,字典是个大问题,我目前还没有搞懂为什么有些文件,只能被一些特定的软件扫到.比如这道题,这个dirsearch,连www.zip这样的变态目录都能扫出来,为什么扫不出update.php这样极其常见的目录.而且题目的源码,就只能用dirsearch扫到,dirb和nikto就不行.…
在.net mvc的controller中,方法返回JsonResult,一般我们这么写: [HttpPost] public JsonResult QueryFeature(string url, string whereClause) { string str=""; return Json(str); } 此时如果str过长,就会报“使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值…
"/"应用程序中的服务器错误.使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度超过了为 maxJsonLength 属性设置的值.说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息: System.InvalidOperationException: 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错.字符串的长度…
在.net mvc的controller中,方法返回JsonResult,一般我们这么写:   [HttpPost]   public JsonResult QueryFeature(string url, string whereClause)   {   string str="";   return Json(str);   } 此时如果str过长,就会报“使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonL…
通过CTF比赛了解PHP反序列化,记录自己的学习. 借用哈大佬们的名言 任何具有一定结构的数据,如果经过了某些处理而把结构体本身的结构给打乱了,则有可能会产生漏洞. 0CTF 2016piapiapia-----反序列化后长度递增 安询杯2019-easy_serialize_php-----反序列化后长度递减 0CTF 2016piapiapia 由于是代码审计,直接访问www.zip发现备份的源码,有一下文件,flag就在config.php,因此读取即可 class.php //主要有my…
一般而言,实现"读入用户输入的字符串",程序中自然不能对用户输入的长度有所限定.这在C++中很容易实现,而在C中确没那么容易. 这一疑问,我在刚学C++的时候也在脑中闪现过:不过很快将它抛在脑后了.直到最近,我在百度知道上讨论一个单词统计问题(链接)时,才重新想起.于是,翻出gcc 4.6.1的代码,浏览了一番. 首先,明确这里探讨的场景--从标准输入(或字符模式打开的文件)中读取一个字符串(换行.空格.tab间隔均可).用C++实现这一功能有两种选择--使用C标准库和使用C++标准库…
平时在作数据库插入操作时,如果用 INSERT 语句向一个varchar型字段插入内容时,有时会因为插入的内容长度超出规定的长度而报错. 尤其是插入中英文混合字符串时,SQL Server中一般中文要占两个字节,所以对混合型的字符串就要作一个处理,统一按字节长度来计算字符串长度,方法如下: C#方法一: public static string GetString(string str, int len) { string result = string.Empty;// 最终返回的结果 int…
随机字符串 - 生成指定长度的字符串 -(NSString *)randomStringWithLength:(NSInteger)len { NSString *letters = @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; NSMutableString *randomString = [NSMutableString stringWithCapacity: len]; for (NSInte…
.NET(C#)生成指定长度的随机字符串的通用方法,此方法可以指定字符串的长度,是否包含数字,是否包含符号,是否包含小写字母,是否包含大写字母等, 源码: #region 生成指定长度的随机字符串 /// <summary> /// 生成指定长度的随机字符串 /// </summary> /// <param name="intLength">随机字符串长度</param> /// <param name="booNumb…
参考网址:https://blog.csdn.net/yenange/article/details/39637211 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; namespace Study { public static class Program2 { static void Main(string[] args) { st…
简介  原题复现:  考察知识点:反序列化.数组绕过  线上平台: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…
使用Fiddler的AutoResponder的功能来mock一个接口,目的是mock返回更多的数据.结果我发现如果只修改response data的内容而不改变长度可以mock成功,一旦改变response data的长度,前端页面就没有任何返回数据展示出来,控制台报错“ERR_INVALID_CHUNKED_ENCODING”. 后来开发说是该接口使用Chunked编码传输,即回复消息的Headers有transfer-coding域值为chunked,表示将用chunked编码传输内容,目…
由于 JavaScript 的限制,Vue 不能检测以下变动的数组: 当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue 当你修改数组的长度时,例如:vm.items.length = newLength 因为vue的响应式是通过 Object.defineProperty 来实现的,但是数组的length属性是不能添加getter和setter,所有无法通过观察length来判断. 如下代码,虽然看起来数组的length是10,但是for in…
解决办法是在web.config增加如下节点到<configuration>下 <system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="1024000" /> </webServices> </scripting> </system.web.extensions> 亲测可用.…
最近有一个需求:玩家发的不同长度文字,需要自适应行数. 初步实现想法很简单,直接获取字符数均分行数,再利用string.substring()切割即可.但是显而易见,由于一般字体下,中文显示宽度一般是两个数字|字母的宽度,所以直接分割的每一行元素个数一致,但是显示长度却长短不一. 解决办法:利用递归实现此方法: private void GetSubStringList(string str,int length,List<string> list) { string content = &q…
#获取中文长度mb_strlen($str,$encoding); #截取中文字符串 mb_substr(str,start,length,encoding);…
格式化字符串长度 方法 function formatWidth(str, width){ str += '' if(str.length<width) '+str, width) else return str } 测试代码 a = console.log(a,formatWidth(a,)) a = console.log(a,formatWidth(a,)) a = console.log(a,formatWidth(a,)) 运行结果 获取格式化时间字符串 方法 function tim…
beforeEncode为Encode之前的字符串 那么Encode后的字符串长度为: 1.如果beforeEncode.length()是3的整数倍,那么长度为  (beforeEncode.length()/3)*4 2.如果beforeEncode.length()不是3的整数倍,那么长度为 (beforeEncode.length()/3+1)*4…
效果图: 1.内容不被截断 span {       overflow:hidden;       white-space:nowrap;       text-overflow:ellipsis;       list-style: none;       word-break:keep-all;       float:left;} 2.超出行长度时换行 xg_dl_content {       height:auto;    word-wrap: break-word;} 3.整体宽度,…
package org.jimmy.autosearch2019.test; import java.util.ArrayList; import java.util.Random; /** * @author ラピスラズリ(Dawn) * @date 2019年5月30日 下午3:18:48 * @detail 随机生成固定长度的字符串 */ public class TestRandom2019053001 { public static ArrayList<String> strList…
一,数学函数主要用于处理数字,包括整型.浮点数等. ABS(X) 返回x的绝对值 SELECT ABS(-1)--返回1 CEll(X),CEILING(x)  返回大于或等于x的最小整数 SELECT CEIL(1.5)--返回2 FLOOR(X) 返回小于或等于x的最大整数 SELECT FLOOR(1.5)--返回1 RAND()  返回0到1的随机数 SELECT RAND() --0.93099315644334 RAND(X) X值相同返回的随机数相同 SELECT RAND(2)…
不试不知道,Oracle中,长度为0的字符串'' 居然与null等价! 众所周知,null代表空,什么都不存在,而一个字符串'',虽然长度为0,但毕竟已经是一个字符串,二者怎么能等价,混为一谈呢. 在SQL SERVER 中, SELECT ISNULL(ISNULL(null,''),'is null') AS str 结果是 '' 但在Oracle中, SELECT NVL(NVL(null,''),'is null') FROM table1 结果是 'is null' 版权声明:本文为博…
原创文章,欢迎转载,转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net/qq446569365 一个用于UTF8字符串操作的类.功能比較齐全,包含: string.utf8len UTF8字符串长度 string.utf8sub 对UTF8字符串进行分割 string.utf8upper 大写转换 string.utf8lower 小写转换 string.utf8reverse 字符串逆转 Github下载地址: https://g…
/** * @param begin 截取开始的索引 * @param num 截取的长度 */ //截取字符串(包括中文) function SetString(str, len) { var strlen = 0; var s = ""; for (var i = 0; i < str.length; i++) { var m = str.charAt(i).match(/[^\x00-\x80]/g);//利用match方法检索出中文字符并返回一个存放中文的数 if (m!…