首页
学习
活动
专区
圈层
工具
发布

复杂变量测试php7.1.20可能存在的漏洞

作者:zedd 近期有小伙伴问了我一道题,然后自己发掘到了一些关于 PHP 复杂变量不太被关注的问题。 起因 起因是因为一个小伙伴问了我一道题 怎么利用呢? php highlight_file(__FILE__); $a = "${phpinfo()}"; ?> ? Thinking 然而为什么可以这么做呢?...其实在 php 中,我们可以查阅 php 文档知道有 {% colorquote success %} PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。...Challanges Easy 我们不妨先把问题简化,如果没有任何防护,我们可以怎么做呢? 好的,终于回到了我们题目,这样的话就不能单纯地使用函数方法了。那我们可以怎么做呢? 如果开启了Notice回显的话,我们可以利用反引号就可以简单实现命令执行了 ? 那要是没开启呢?自然不可行了。

96740

请教个问题,我想把数据中名字的重复值删掉,只保留年纪大的怎么整呢?

大家好,我是皮皮。...一、sort_values()函数用途 pandas中的sort_values()函数原理类似于SQL中的order by,可以将数据集依照某个字段中的数据进行排序,该函数即可根据指定列数据也可根据指定行的数据排序...=‘last’) 参数说明 参数 说明 by 指定列名(axis=0或’index’)或索引值(axis=1或’columns’) axis 若axis=0或’index’,则按照指定列中数据大小排序;...若axis=1或’columns’,则按照指定索引中数据大小排序,默认axis=0 ascending 是否按指定列的数组升序排列,默认为True,即升序排列 inplace 是否用排序后的数据集替换原来的数据...三、总结 大家好,我是皮皮。这篇文章主要盘点了一个Pandas处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    实战Sentry

    不管你用什么编程语言,都会面临如何处理错误日志的问题。很多程序员对错误日志放任自流,直到出现故障了才追悔莫及,如果问我怎么办,我会推荐 Sentry!...提醒:我在安装 7.5 的时候,测试有循环重定向,如果你也是可以安装 7.4: pip install sentry==7.4.3 安装完毕后,假设我们要监控 PHP 错误日志,那么通常是在我们的业务代码里嵌入官方的...更新:我现在觉得原来的做法太吹毛求疵了,其实 Sentry 本身提供了 async 的调用方法,比如在 PHP SDK 里,只要设置 curl_method 为 async 或者 exec 即可。...如果发现 Sentry 中的错误计数器始终是一,即便有新的错误也不更新,那么多半是因为没有权限生成 celerybeat-schedule 文件,缺省是生成在进程的 cwd 目录中。...如何才能发现新生成的数据呢?

    59530

    分享个已封装好自用的评论UA函数以及使用教程

    然后呢我自己使用的是emlog,在EmlogPro 1.4.0 以前的版本emlog_comment表里面是没有useragent这个字段的,然后由于个人非常想给评论列表弄个显示UA显示的,但是又不想去改系统文件以及自己增加字段所以就给作者推荐了...其实这个函数网上是一大堆的,然后呢我是在某博客看上了他的样式才扣的下来然后自己封装了下函数,下面就先放上函数吧。 废话也不多说了先上教程吧,首先我个人是用的emlog所以就拿emlog来演示。...如果你想认真的学习PHP代码,建议你认值观看本文内容,后面会详细说明本文中使用方法里面的关键内容 一、第一步 找到主题目录下面的modele.php文件(这个文件是主题的全局函数文件),然后复制下面的函数粘贴进去任意地方...>// 获取浏览器信息 如图: 结尾(想了解就看吧) 然后这里给小白解答一下$comment['agent']是啥东东与怎么来的。...然后我们先打印看看$comment 想必各位都很清楚的看到到agent这个东东了吧,这个就是上文中说的$comment['agent'] 估计各位都以及了解这个东西了,最后结尾就给大家打包我自己的用的素材

    46910

    这个Excel中,我目前知道张三的名字,想根据张三去取他的体重,应该怎么做呢?

    一、前言 前几天在Python白银交流群【Eric】问了一个Pandas处理的问题,这里拿出来给大家分享下。...细心的小伙伴可能看到了上图中还有一串红色的告警,提示:UserWarning: Pandas requires version '2.7.3' or newer of 'numexpr' (version...解决方法也非常简单,在命令行中输入命令:pip install numexpr --upgrade --user 即可解决。 之后再运行程序,即可发现告警不复存在了,控制台清爽了许多!...三、总结 大家好,我是皮皮。这篇文章主要盘点了一个Pandas处理Excel的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。...另外,还针对一个Pandas告警,给出了相应的解决办法,希望后面有小伙伴遇到类似的情况,也有章可循。

    89720

    你会写Web简单的脚本么?

    用到的编程语言:python,其它语言均可 第一题 key又又找不到了 分值: 200 小明这次哭了,key又找不到了!!!key啊,你究竟藏到了哪里,为什么我看到的页面上都没有啊!!!!!!...什么才是空的呢?通关地址:没有,请直接提交答案(小写即可) 思路:空?还要小写?null试试,果然! 第四题: 怎么就是不弹出key呢?...(SESSION) 分值: 150 尼玛,验证码怎么可以这样逗比。...前一关貌似也是那样做的呀套用上一关脚本,直接出答案.....1298 -------正确key is LJLJLfuckvcodesdf#@sd 第八题: 微笑一下就能过关了 分值: 150 尼玛,碰到这样的题我能笑得出来嘛...,找找度娘 从源码中可以发现屏蔽了ftp和http协议且要是文件,通过php手册或者度娘可以用Data协议,所以可以构造http://lab1.xseclab.com/base13_ead1b12e47ec7cc5390303831b779d47

    51020

    | BUU

    php error_reporting(0); highlight_file(__FILE__); function check(input){ if(preg_match("/'| |_|php...|;|~|\\^|\\+|eval|{|}/i",input)){ // if(preg_match("/'| |_|=|php/",input)){ die('hacker...表里面, 但是我遇到个问题, 靶场docker里面的mysql没有开启同时我也开启不了所以也就无法进入查找数据库里面的数据, 想去直接访问/var/lib/mysql里面存放数据库数据的文件也无权限,...麻了,讲道理来说题目原本应该可以直接连接数据库才对的 不过问题不大, 后来想到可以直接在反序列化那里修改mysql执行语句 "table" => "mysql.user where 1=1;select...文件到我vps服务器监听的4444端口的, 但是请求发出后一直没反应, 其它jackson的环境链接也试了全都不行, 麻了, 不知道是不是环境问题, 到网上搜了wp都是这么做直接出flag了

    43020

    35c3 POST题目复现

    $this->attachment 是一个包含Attachment类实例的数组,这个类数组在写数据库的时候是怎么处理的?...但是DB类的query函数中并没有调用prepare_params函数,所以我曾一度认为漏洞点在这里 #filename: post.php } else { DB::query("UPDATE...0x3 反序列化触发SSRF 可以进行任意类伪造了,但是伪造什么类呢,根据/miniProxy目录里面的代码,很容易想到需要伪造SoapClient,进行SSRP的,接下来就是找怎么触发SoapClient...p=691中我就讲过这个利用SoapClient类的CRLF漏洞,发起长连接的技巧,这里刚好用上了。...明显写代码人的认为这种情况的 那有没有这样的url,是libcurl可以发送出请求的,并且经过parse_url处理返回的$scheme还是空的呢?

    1.6K10

    CTFshow之web入门---PHP特性上

    我们可以参考官方文档 **preg_match()返回 pattern 的匹配次数。 它的值将是0次(不匹配)或1次,因为preg_match()**在第一次匹配后 将会停止搜索。...; $a=$_GET['cmd']; if(preg_match('/^php$/im', $a)){ if(preg_match('/^php$/i', $a)){ echo...call_user_func() 函数把第一个参数作为回调函数调用,通过这个函数可以将编码为16进制的V2重新变为一句话木马,v3通过伪协议写入1.php文件中内容,v1通过Post传参传入hex2bin...Web109 这玩意,我怎么说呢,我真不会,这一块也是学了一些新的东西 Exception 异常处理类 http://c.biancheng.net/view/6253.html Web111 变量覆盖...; } 过滤了data和base64,但是怎么说呢,过滤了这个偏偏可以想着如何绕过这个过滤……..这种情况大概是非预期解 /?

    46210

    PHP - 使用正则表达式抓取网页内容

    昨天有个朋友在问我说,php怎么抓取网页某个div区块的内容。每次发布文章都会显示文章内的图片,提供缩略图,又是怎麽做到的?其实这语法出乎意料的简短… 1. 取得指定网页内的所有图片: php //取得指定位置的内容,并储存至text $text=file_get_contents('http://notemi.cn/'); //取得第一个img标签,并储存至阵列match(regex...'); //去除换行及空白字元(序列化内容才需使用) //$text=str_replace(array("\r","\n","\t","\s"), '', $text); //取出div标签且id为PostContent...的内容,并储存至阵列match preg_match('/]*id="footer"[^>]*>(.*?)...'); //取出div标签且id为PostContent的内容,并储存至阵列match preg_match('/]*id="footer"[^>]*>(.*?)

    1.1K30

    buuCTF之web题目wp

    php if(isset($_GET['ip'])){ $ip = $_GET['ip']; if(preg_match("/\&|\/|\?...3 [极客大挑战 2019]PHP 这个题让我反思,现在一直用的原版的程序他爆破的文件是不是要更新下……我不知道别人是怎么跑出来的www.zip这个压缩文件,我这包里直接没有,可以通过访问www.zip...> 反序列化的内容,之前省赛的视频里讲过,不过我确实没怎么学好,查看class.php中的内容,可以知道,如果password=100,username=admin,在执行__destruct()的时候可以获得...> 在反序列化的时候会首先执行__wakeup()方法,但是这个方法会把我们的username重新赋值,所以我们要考虑的就是怎么跳过__wakeup(),而去执行__destruct 在反序列化字符串时...,属性个数的值大于实际属性个数时,会跳过 __wakeup()函数的执行 private 声明的字段为私有字段,只在所声明的类中可见,在该类的子类和该类的对象实例中均不可见。

    37010

    Code Breaking 挑战赛 Writeup

    php了 接下来就是第二步,怎么才能控制logname为调用php伪协议呢?...这样一来头我们可以控制了,我们就能调用php伪协议了,那么怎么绕过后缀限制呢?...这里的lodash.merge刚好也就是用于将两个对象合并,成功定义了__proto__对象的变量。 ? 我们也可以通过上面的技巧去覆盖某个值,但问题来了,我们怎么才能getshell呢?...顺着这个思路,我需要在整个代码中寻找一个,在影响Object之后,且可以执行命令的地方。 很幸运的是,虽然我没有特别研究明白nodejs,但我还是发现模板是动态生成的。 ?...完成攻击 其实发现可以注入代码之后就简单了,我朋友说他不能用child_process来执行命令,我测试了一下发现是可以的,只是不能弹shell回来不知道怎么回事。

    80120

    NSSRound#8 WEB

    前言 只做出来My系列两道题,记录一下学到的知识叭 MyPage 很明显是一个文件包含,先说说我的做法,尝试php伪协议发现读取不到,日志文件没有找到就用不了日志文件包含,phpinfo也没能找到临时文件包含也没有出路...php的文件包含机制是将已经包含的文件与文件的真实路径放进哈希表中,那么目标就是如何绕过这个哈希表,让php认为我们传入的文件名不在哈希表中,又可以让php能找到这个文件,读取到内容。...那么可以试着更进一步利用/proc来避免使用被 WAF 的字符,具体可以参考这篇文章:Proc 目录在 CTF 中的利用。...我当时就试了试这种方法,发现怎么都执行不了,赛后问了 Tel 佬才知道,原来这里涉及到一个php特性:在php中变量名字是由数字字母和下划线组成的,所以不论用post还是get传入变量名的时候,php会将怪异的变量名转换成有效的...&0=env Upload_gogoggo复现 题目描述:没有任何过滤的文件上传 这道题很遗憾的擦肩而过,可能对未知的东西有点手足无措吧,想到了go命令执行.go文件getshell但没有实现出来

    43720

    网站漏洞怎么修复对于thinkphp的漏洞修复

    关于这次发现的oday漏洞,我们来看下官方之前更新的代码文件是怎么样的,更新的程序文件路径是library文件夹下的think目录里的app.php,如下图: ?...漏洞产生的原因就在于这个控制器这里,整个thinkphp框架里的功能对控制器没有进行严格的安全过滤于检查,使攻击者可以伪造恶意参数进行强制插入,最根本的原因就是正则的表达式写的不好,导致可以绕过。...有些人可能会问了,既然都可以phpinfo,查询目录文件,可不可以getshell写网站木马文件到网站里呢? 答案是可以的,我们测试的时候是以一句话木马代码的写入到safe.php文件里。...thinkphp的漏洞呢?...preg_match('/^[A-Za-z][\w\.]*$/', $controller)) { throw new HttpException(404, 'controller not exists

    3.9K40

    从CTFShow中学习自增构造webshell

    前言 在CTFShow的每周挑战中遇到了PHP无数字字母构造的一系列题目,做了做发现我这个菜鸡不怎么会,所以对此类题进行一个简单总结,希望能对正在学习的师傅有所帮助。...php echo 'A'^'?'; 可以发现得到的结果是~,那么它是如何计算的呢,过程如下 首先将A和?分别转换为对应的ASCII码,A变为65,?...php $_=[]; var_dump($_); 这个时候的话可以看到它就是一个数组,我们无法获取它的这个Array字符,那我们该怎么获取呢,我们尝试拼接一个数字 <?...//INF 这个时候就有一个问题了,如果ban了数字,我们该怎么去构造NAN和INF呢,这个时候就需要讲到一个知识点,我们这里的话需要说一下这个NAN和INF NaN(Not a Number,非数)是计算机科学中数值数据类型的一类值..._0和__占了两个单位长度,如果我们可以用一个字符来表示它,是不是就可以成功缩短长度呢,然后这个时候就考虑到可以使用不可见字符然后我们在URL编码表中随便找两个,我这里就用%DE和%DF了,然后分别对变量名进行一个替换

    2.4K60
    领券