首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

php 不用字母数字下划线写 shell

CTF 遇到一道正则过滤了字母,数字下划线的题目,发现了一些 PHP 的骚姿势,感觉很有必要总结一下。...例如数字字母PHP 后门 <?...php $_++; print($_); ?> 结果会输出:1 不用数字字母的 shell 在讲不用数字字母下划线写 shell 之前,先了解下不用数字字母写 shell。...然后再利用 PHP 允许动态函数执行的特点,拼接处一个函数名,如 "assert",然后动态执行即可。 字母数字的字符异或出字母 不可打印字符,用 url 编码表示。 <?...字母数字的字符取反出字母 利用的是 UTF-8 编码的某个汉字,将其中的某个字符取出来,取反为字母。一个汉字的 utf8 是三个字节,{2} 表示第 3 个字节 <?

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

PHP生成随机字符串实例代码(字母+数字

当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度 function randomkeys...随机数 } return $output; } echo randomkeys(8); 在第二个php随机函数里,先用mt_rand()生成一个介于33到126之间的php随机数,然后用chr...第二个函数第一个函数功能相同,而且更简洁。如果不需要特殊字符的话还是直接写在字符池中比较好。 ASCII码表 信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。...因此计算机上都配有输入输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。...为保证人类设备,设备计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。

3.1K30

字母数字webshell

最近ctf经常遇到类似姿势的题目,最开始还是比较蒙的 今天来进行一个总结 文章参考p牛的博客 一些不包含数字字母的webshell 无字母数字 如何构造一句话木马。...这里用到三种方法 异或构造 这种方法用到特殊符号的异或最终得到数字或者字母 如上图 echo "~"^"$" echo "^"^"<" 即可构造出字母 转换过程为 将两个要比较的字符转换成ascii之后...转换成ascii为90 也就是对应大写字母Z 那么我们如果构造处一句话 不可能一个一个去试对吧 这里贴上一个 异或得到字母PHP脚本 <?...php $test = '~!@#$%^&*()_+\|/?....] p )^@ i .^@ n =^{ f @^/ o 传入的知识phpinfo字符串 最终还需传入括号 最终payload为 http://127.0.0.1/webshell/ctf.php

1K20

PHP删除字符串中非字母数字字符方法总结

可以使用preg_replace()函数删除非字母数字字符。此函数执行正则表达式搜索替换。函数preg_replace()搜索由pattern指定的字符串,如果找到则用替换替换模式。 ?...代码示例: 方法1:正则表达式’/ [\ W] /’匹配所有字母数字字符,并用”(空字符串)替换它们。...它表示字母数字字符的组合。 例: <?php // 包含字母数字字符的字符串 $str="!@php.cn2019?"...输出: phpcn2019 方法2:正则表达式’/ [^ a-z0-9] / i’匹配所有字母数字字符,并用”(空字符串)替换它们。...az:它用于所有小写字母,因为在语句中已经提到过i(不区分大小写),所以不需要指定AZ。 0-9:用于匹配所有数字。 <?php //包含字母数字字符的字符串 $str="!

2.3K21

大小写字母数字的ASCII码值,及字母数字的转换

SCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语其他西欧语言...大写字母/小写字母数字的ASCII码(数字)值对照: a-z:97-122 A-Z:65-90 0-9:48-57 大小写字母数字的ASCII转换: 数字字母: 语法: String.fromCharCode...(num1, ..., numN) 参数: num1, ..., numN 一系列 UTF-16 代码单元的数字。...1被截断并被忽略 字符/字母数字: 单字符转数字: 'a'.charCodeAt(0) 结果: 97  封装的方法: function convert(num){     return num <=...、数字的ASCII码值,及字母数字的转换》 https://www.w3h5.com/post/414.html

6.3K10

字母数字webshell之提高篇

这题可能来自是我曾写过的一篇文章:《一些不包含数字字母的webshell》,里面介绍了如何构造无字母数字的webshell。...其中有两个主要的思路: 利用位运算 利用自增运算符 当然,这道题多了两个限制: webshell长度不超过35位 除了不包含字母数字,还不能包含$_ 难点呼之欲出了,我前面文章中给出的所有方法,都用到了...PHP自然也能够操作系统进行交互,“反引号”就是PHP中最简单的执行shell的方法。那么,在使用PHP无法解决问题的情况下,为何不考虑用“反引号”+“shell”的方式来getshell呢?...PHP5+shell打破禁锢 因为反引号不属于“字母”、“数字”,所以我们可以执行系统命令,但问题来了:如何利用无字母数字、$的系统命令来getshell?...好像问题又回到了原点:无字母数字、$,在shell中仍然是一个难题。

1.2K60

Web安全 | 无字母数字Webshell 总结

所以我们的思路是,将字母数字的字符经过各种转换,最后能构造出 a-z0-9 中的任意一个字符。...如果正则匹配过滤了字母数字,那就可以使用两个不在正则匹配范围内的字母数字的字符进行异或,从而得到我们想要的字符串。 例如,我们异或 ?...那么或运算原理也是一样,如果正则匹配过滤了字母数字,那就可以使用两个不在正则匹配范围内的字母数字的字符进行或运算,从而得到我们想要的字符串。 构造脚本 下面给出一个或运算绕过的脚本: <?...如果没有限制字母的话我们完全可以使用 /???/php?????? 来提高匹配几率,但是题目限制的就是字母数字,所以我们的想别的办法。...; } eval($code);} 需要构造无字母数字的 Webshell,但是过滤了 _ $ 就比较麻烦了,并且由于题目时 PHP 5 的环境: image-20210509111617262

5.4K10

字母数字Webshell之提高篇

这题可能来自是我曾写过的一篇文章:《一些不包含数字字母的Webshell》,里面介绍了如何构造无字母数字的webshell。...其中有两个主要的思路: 1.利用位运算 2.利用自增运算符 当然,这道题多了两个限制: 1.webshell长度不超过35位 2.除了不包含字母数字,还不能包含$_ 难点呼之欲出了,我前面文章中给出的所有方法...PHP自然也能够操作系统进行交互,“反引号”就是PHP中最简单的执行shell的方法。那么,在使用PHP无法解决问题的情况下,为何不考虑用“反引号”+“shell”的方式来getshell呢?...PHP5+shell打破禁锢 因为反引号不属于“字母”、“数字”,所以我们可以执行系统命令,但问题来了:如何利用无字母数字、$的系统命令来getshell?...好像问题又回到了原点:无字母数字、$,在shell中仍然是一个难题。

1.3K41

Android最简单的限制输入方法(只包含数字字母符号)

前言 Android的编辑框控件EditText在平常编程时会经常用到,有时候会对编辑框增加某些限制,如限制只能输入数字,最大输入的文字个数,不能输入一些非法字符等,本文就来给大家介绍了一种最简单的输入限制方法...Github地址,欢迎点赞,fork 今天带来工作中的一个小安利,产品要求对用户名输入需要限制,只能是数字字母,符号,不能包含空格键盘上输入的emoji.开始拿到这个需求,觉得给 EditText...InnerInputConnection(target: InputConnection, mutable: Boolean) : InputConnectionWrapper(target, mutable) { // 数字...,字母 private val pattern = Pattern.compile("^[0-9A-Za-z_]$") // 标点 private val patternChar = Pattern.compile...super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // demo 中默认 LimitEditText 只能输入字母数字标点符号

3.1K20
领券