IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> BUUCTF [RoarCTF 2019]Easy Calc1 -> 正文阅读

[PHP知识库]BUUCTF [RoarCTF 2019]Easy Calc1

一.打开题目后:

二.Ctrl+U查看源代码:

发现存在WAF和一个文件calc.php,这里我们就需要简单的了解下什么是WAF了:

WAF的全称是(Web Application Firewall)Web应用防火墙,简称WAF。

那么WAF能做什么?

????WAF可以过滤HTTP/HTTPS协议流量,防护Web攻击。

????WAF可以对Web应用进行安全审计

????WAF可以防止CC攻击

????应用交付

????CC攻击:通过大量请求对应用程序资源消耗最大的应用,如WEB查询数据库应用,从而导致服务器拒绝服务.

????应用交付:实际上就是指应用交付网络(Application Delivery Networking,简称ADN),它利用相应的网络优化/加速设备,确保用户的业务应用能够快速、安全、可靠地交付给内部员工和外部服务群。

????从定义中可以看出应用交付的宗旨是保证企业关键业务的可靠性、可用性与安全性。应用交付应是多种技术的殊途同归,比如广域网加速、负载均衡、Web应用防火墙…针对不同的应用需求有不同的产品依托和侧重。

WAF的主要功能:

WAF主要是通过内置的很多安全规则?来进行防御。

可防护常见的SQL注入、XSS、网页篡改、中间件漏洞等OWASP TOP10攻击行。

当发现攻击后,可将IP进行锁定,IP锁定之后将无法访问网站业务。

也支持防止CC攻击,采用集中度和速率双重检测算法。

三.打开calc.php文件:

?So 题目利用waf过滤了num参数中的一些字符,那么我们就需要利用php的字符串解析特性绕过waf,那么我们又来简单的了解下php的字符串解析特性。

PHP需要将所有参数转换为有效的变量名,因此在解析查询字符串时,它会做两件事:

???? 1.删除前后的空白符(空格符,制表符,换行符等统称为空白符);
? ? ?2.将某些字符转换为下划线(包括空格);
? ? ?例:假如waf不允许num变量传递字母, 那么我们可以在num前加个空格,这样waf就找不到num这个变量了,因为现在的变量叫" num",而不是"num"。但php在解析的时候,会先把空格给去掉,这样我们的代码还能正常运行,还上传了非法字符。

?

?由于该题num参数过滤了一些字符,所以我们需要在参数num前添加空格绕过waf

构造参数? num=phpinfo()(注意num前面有个空格)就能够绕过,并执行phpinfo()函数。

由鉴于他过滤了单引号和双引号,我们无法直接传参。
需要用到几个函数来构建取得目录:
var_dump() — 可以将变量的内部信息打印出来,可以打印出数组
scandir() — 传入目录参数,返回传入目录的文件及文件夹
chr() — 传入数字可以将ASCII码解析为字符串
readfile() — 传入文件名作为参数可以读取文件内容
file_get_contents — 传入文件名作为参数可以读取文件内容

?

47对应ASCII为/,所以chr(47)表示"/";故构造?%20num=1;var_dump(scandir(chr(47))),取得目录对应文件及文件夹名字如下图,一般flag都在根目录下;

四.可以看见有一个f1agg,构建payload:
calc.php?%20num=1;var_dump(readfile(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
也可以将readfile改为file_get_contents,结果一样,输出有些差异。

?

?

?

?

?

?

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:17:36  更:2021-10-20 12:17:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 -2025/2/27 14:11:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码