CISCN 2021 题目复现

前言

ciscn大概是自己学习网安以来参加的第一个比较正式的比赛吧,发现自己比想象的还菜,一个没做出来。。。还好赛后可以照着大佬们的wp复现,记录一下自己复现过程中的一些问题和收获(想复现的话建议直接跳转到文章结尾看羽师傅的文章)。(这只是菜鸡的一些学习记录,欢迎指出错误,大佬请略过)

upload(buu复现)

1,用这个绕过getimagesize函数,第一次知道。

#define width 1
#define height 1

2,unicode配结合mb_strtolower()函数绕过,但不知道为啥,本地总是返回false,换了好几个PHP版本都没用,不知道为啥,但远程行。

<?php
var_dump(mb_strtolower('İ')==='i');
?>

3,https://github.com/huntergregal/PNG-IDAT-Payload-Generator/ 羽师傅给出的绕过二次渲染的脚本,这里我陷住了好长时间,之前我从网上找的png图片马payload是 <?php $_GET[0]($_POST[1]);?>。

先在本地测试了一下,传个eval发现执行不了命令,assert也用不了,搜了搜,具体原因是 eval是语言构造器而不是函数,不能这样用。assert在php7版本以后默认不能执行代码,恰好我本地php版本是php7.3,换成5.2版本后成功执行命令。也有人说php7.1和7.2版本assert可以执行,但我在phpstudy本地测试都没成功,倒是7.0可以成功。另外,freebuf那篇文章说php7移除了<script>标签,我本地测试反正php7.0到7.3确实都不能用了。

以后又可以少踩一些坑了。

4,传上去压缩包在example.php页面解压后访问/example显示403,学长说buu把目录遍历漏洞修好了,直接访问文件就行,然后就正常操作了。(flag路径真的太阴间了)。

easy_sql

环境搭建

因为题目关了,本地用sqli-labs改的,版本 php 5.69,mysql 8.0.12。预计希望成功复现查表和无列名注入以及报错盲注。改完之后的核心代码如下,虽然不怎么严,反正是自己复现。

<?php
include("../sql-connections/sql-connect.php");
error_reporting(0);// take the variables
$id=$_GET['id'];
if(
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值