zoukankan      html  css  js  c++  java
  • 【自用】【做题日记7】CTFHUB-RCE

    上一篇:【自用】【做题日记6】CTFHUB-文件上传

    2.15

    eval执行

     用蚁剑连接,找flag。

    这个连接密码就是被REQUEST的cmd。

     文件包含

     用get传:file=shell.txt

    然后就能用蚁剑连接,密码ctfhub。

    翻找得到flag。

     php://input

    这个题首先会过滤GET到的file,要求file的前6个字符必须是php://

    之后有一个include(file),如果file是php代码的话,能够被执行。

    所以用get传file=php://input,来通过substr;

    并且用post传<?php system('ls')?>;,在include的时候能被执行。

     找flag。

     cat打开flag文件,获得flag。

     2.20

    读取源代码

     使用php://filter,直接访问?file=php://filter/resource=/flag

     3.7

    远程包含

     直接用php://input 的方法做就可以了。

     然后就是翻找flag啦。

     3.8

    命令注入

    格式:127.0.0.1 & 要使用的命令

    (使用& 而不是 && : &不管前一句是否成功都会运行后一句

    然后注意这个php不能直接用cat,要用base64转码。

     

     再转回来,获得flag。

     过滤cat

    和上题解法一样。

    过滤空格

    先看一下,可以看到flag文件。

    在shell中可以用${IFS}代替空格。

    获得flag。

     

    过滤目录分隔符

    这里可以用 ; 来实现多个命令的依次使用。

     

     然后再base64打开flag文件就行。

     3.9

    过滤运算符

    ; 代替 & 就行。

     

     base64解码,获得flag。

    综合过滤练习

     也就是 | & ; 空格 cat flag ctfhub 都被过滤了。

    &和;可以用%0a代替,空格就是${IFS},flag有点头晕 直到我看到这样一篇wp:

    CTFHub题解-技能树-Web-RCE【过滤目录分隔符、过滤运算符、综合过滤练习】(二)

    %09* 补全 绝了!妙蛙种子吃了妙脆角妙到家了!

     

    所以这样构造url:

     cat被过滤?直接换成base64就行。

    http://challenge-acb93a2af8e1dc46.sandbox.ctfhub.com:10080/?ip=127.0.0.1%0Acd%09*is_here%0abase64${IFS}%09*_22868659918422.php
    

     

    解码,得flag。

    完工咯!

  • 相关阅读:
    mysql 数据库备份
    半同步复制
    mysql在线热备
    mysqlxtrabackup备份
    MySQL备份与恢复
    Mysql语句类型
    MySQL的体系结构
    MySQL介绍及安装
    Shell-02-if
    Shell 脚本进阶,经典用法及其案例
  • 原文地址:https://www.cnblogs.com/qwerta/p/14403616.html
Copyright © 2011-2022 走看看