学习
实践
活动
专区
工具
TVP
写文章

字母数字webshell

最近ctf经常遇到类似姿势的题目,最开始还是比较蒙的 今天来进行一个总结 文章参考p牛的博客 一些不包含数字字母的webshell 无字母数字 如何构造一句话木马。 这里用到三种方法 异或构造 这种方法用到特殊符号的异或最终得到数字或者字母 如上图 echo "~"^"$" echo "^"^"<" 即可构造出字母 转换过程为 将两个要比较的字符转换成ascii之后 进行异或运算后得到了字母 ~的ascii值为126 126的二进制为1111110 $的ascii值为36 36的二进制为 0100100 两个二进制的值进行异或运算得到 1011010 换成ascii为90 也就是对应大写字母Z 那么我们如果构造处一句话 不可能一个一个去试对吧 这里贴上一个 异或得到字母的PHP脚本 <?

15020
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

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

    大小写字母数字的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

    4.3K10

    字母数字webshell之提高篇

    这题可能来自是我曾写过的一篇文章:《一些不包含数字字母的webshell》,里面介绍了如何构造无字母数字的webshell。 其中有两个主要的思路: 利用位运算 利用自增运算符 当然,这道题多了两个限制: webshell长度不超过35位 除了不包含字母数字,还不能包含$和_ 难点呼之欲出了,我前面文章中给出的所有方法,都用到了 PHP5+shell打破禁锢 因为反引号不属于“字母”、“数字”,所以我们可以执行系统命令,但问题来了:如何利用无字母数字、$的系统命令来getshell? 好像问题又回到了原点:无字母数字、$,在shell中仍然是一个难题。 翻开ascii码表,可见大写字母位于@与[之间: ? 那么,我们可以利用[@-[]来表示大写字母: ? 显然这一招是管用的。

    59160

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

    所谓无字母数字 Webshell,其基本原型就是对以下代码的绕过: <?phpif(! 下面我们来说说答题的思路: 首先,代码确实是限制了我们的 Webshell 不能出现任何字母数字,但是并没有限制除了字母数字以外的其他字符。 所以我们的思路是,将非字母数字的字符经过各种转换,最后能构造出 a-z0-9 中的任意一个字符。 如果正则匹配过滤了字母数字,那就可以使用两个不在正则匹配范围内的非字母数字的字符进行异或,从而得到我们想要的字符串。 例如,我们异或 ? 和 ~ 之后得到的是 A : ? 那么或运算原理也是一样,如果正则匹配过滤了字母数字,那就可以使用两个不在正则匹配范围内的非字母数字的字符进行或运算,从而得到我们想要的字符串。 构造脚本 下面给出一个或运算绕过的脚本: <?

    1.2K10

    字母数字Webshell之提高篇

    这题可能来自是我曾写过的一篇文章:《一些不包含数字字母的Webshell》,里面介绍了如何构造无字母数字的webshell。 其中有两个主要的思路: 1.利用位运算 2.利用自增运算符 当然,这道题多了两个限制: 1.webshell长度不超过35位 2.除了不包含字母数字,还不能包含$和_ 难点呼之欲出了,我前面文章中给出的所有方法 PHP5+shell打破禁锢 因为反引号不属于“字母”、“数字”,所以我们可以执行系统命令,但问题来了:如何利用无字母数字、$的系统命令来getshell? 好像问题又回到了原点:无字母数字、$,在shell中仍然是一个难题。 翻开ascii码表,可见大写字母位于@与[之间: ? 那么,我们可以利用[@-[]来表示大写字母: ? 显然这一招是管用的。

    69841

    罗马数字整数

    题目 难度级别:简单 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。 关于罗马数字的详尽书写规则,可以参考 罗马数字 - Mathematics。 初始思路 这是我刚拿到这道题的思路,首先将所有可能组成得值写为一个转化方法。 之后将给定的罗马数字字符串转化成数组,进行一次循环,用一个对象存储循环出的罗马数字的值、和罗马数字对应的整数的值,以及一个布尔值(用于表示这个值是否会与下一个值形成一个新的值)。 ,若后一个数字比前一个数字大,则后一个数字减去前一个数字,否则相加。

    38821

    扫码关注腾讯云开发者

    领取腾讯云代金券