我是靠谱客的博主 会撒娇心情,最近开发中收集的这篇文章主要介绍php 字符串异或 绕过,浅析CTF绕过字符数字构造shell,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

在CTF中,虽然有很多文章有这方面的资料,但是相对来说比较零散,这里主要把自己学习和打ctf遇到的一些绕过字符数字构造shell梳理一下。

无字母数字webshell简单来说就是payload中不能出现字母,数字(有些题目还有其他一些过滤),通过异或取反等方法取得flag。

本文涉及知识点实操练习-使用base64与deflate对webshell编码

测试源码<?php

if(!preg_match('/[a-z0-9]/is',$_GET['shell'])) {

eval($_GET['shell']);

}

//如果shell中不还有字母和数字,则可以执行eval语句

异或绕过

异或的符号是^,是一种运算符。1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

异或脚本<?php

for($i=128;$i<255;$i++){

echo sprintf("%s^%s",urlencode(chr($i)),urlencode(chr(255)))."=>". (chr($i)^chr(255))."n";

}

?>

运行该脚本我们知道%81^%FF=>~     %82^%FF=>}       %83^%FF=>|

%84^%FF=>{     %85^%FF=>z       %86^%FF=>y

<

最后

以上就是会撒娇心情为你收集整理的php 字符串异或 绕过,浅析CTF绕过字符数字构造shell的全部内容,希望文章能够帮你解决php 字符串异或 绕过,浅析CTF绕过字符数字构造shell所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部