单身杯web wp

web签到题

php代码审计

post传入一个参数file,file的反转字符串与file相同时即可执行文件包含

payload :

?file=data://text/plain,<?php echo system("cat /f*")?>>?)"*f/ tac"(metsys ohce php?<,nialp/txet//:atad

使用?>即可对代码进行截断

easyPHP

php代码审计

POST方式传入cmd和param两个参数,使用escapeshellcmd()和escapeshellarg()俩函数处理并合并为一条cmd命令交由shell_exec()函数执行

其中参数cmd限长三位,参数param不限长

escapeshellcmd()和escapeshellarg()函数我都不熟悉,先查一下:

escapeshellcmd()

escapeshellarg()

简单来说,

escapeshellcmd是对&#;|*?~<>^()[]{}$\, \x0A 和 `\xFF这些字符之前添加一个转义字符'\'。

escapeshellarg的作用是 用空格替换了百分号、感叹号(延迟变量替换)和双引号,并在字符串两边加上双引号。此外,每条连续的反斜线(\)都会被一个额外的反斜线所转义。

参照k师傅wp学习

← sed 基础教程sed 环境安装 →

SED简介

sed,英文全称 stream editor ,是一种非交互式的流编辑器,通过多种转换修改流经它的文本。

sed 可以对文字的增删改替换查( 过滤、取行 ),能同时处理多个文件多行的内容。

sed 与 awk 并称为 Linux/Unix 世界的两大王牌文字处理器。

sed 与 awk 一样,都是行文字处理器

awk 侧重点是分割和重新合成。而 sed 的侧重点是替换

步骤一

我们重点看看需要的内容,k师傅使用sed命令替换了shell_exec函数为system函数,并且将$cmd=escapeshellcmd(substr($cmd,0,3))." ".escapeshellarg($param)." ".__FILE__;这一行给删除了

传入的参数是

cmd=sed&param=/esca/d;s/shell_exec/system;w 1.php

sed是三字命令,自然没有超过sustr的字符串长度限制,接下来对命令参数进行说明:

/esca/d: 斜杠这个符号在sed中用于隔离不同参数(或是命令), /d的作用是delete,即删除,/esca是/d所需要匹配的字符串,即含有esca这个字符串所在的行会被删除。

; :sed中分号是不同命令之间的分隔。

s/shell_exec/system:s是sed中的字符串替换命令

在这里可以学到其具体的使用方式与效果:sed 字符串替换命令 s - sed 基础教程 - 简单教程,简单编程

s/shell_exec/system即是将shell_exec替换为system的命令。

w 1.php :w即write 写入,合起来就是将修改后的文件写入1.php中

因此该payload 的实际效果就是 sed '/esca/d;s/shell_exec/system;ww 1.php'

步骤二

那么我们现在了解了sed是如何替换字符串并写入文件的,我们知道最终将有一个1.php会在网站目录下被生成,因此在网站链接后加上1.php进入

可以了解到我们修改后的成果,接下来使用post cmd传入使用的命令行指令:

cmd = ls / :了解当前目录下的文件

cmd=cat /f* 即可拿到flag

AWK 简介

参考链接:AWK 简介 - Awk 基础教程 - 简单教程,简单编程

AWK 是一个命令行工具,它和其它的 Unix/Linux 命令行工具,比如 curlwget 一样,没有界面。

AWK 是一门语言,对的,一门语言,而且是一个解释性编程语言。使用 Awk 可以完成无数的任务,我们简单的罗列几条

  • 文本处理

  • 生成格式化的文本报告

  • 运行一些简单的算术操作

  • 执行一些常见的字符串操作

AWK 程序有两种运行方式:

  1. 一种就是直接在终端( shell )中使用。

  2. AWK 的另一种使用方式,就是可以和 Shell 脚本,写在一个文本文件里,然后运行这个文本文件。不过这种方式不多见

AWK 最常见的使用方式就是在终端里直接输入 AWK 脚本。

awk [options] file ...

在命令行里直接使用,我们需要讲 AWK 代码使用 单引号 ( '' ) 引起来。

比如

[www.twle.cn]$ awk '{print}' employee.txt

exp

因为awk中可以直接执行指令。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值