PHP
Go 语言中 defer 使用时有哪些陷阱?
大家好,我是 frank ,「 Golang 语言开发栈」公众号作者。 01 介绍 defer 的使用方式是在其后紧跟一个函数调用或方法调用,确保在其所在的函数体返回之前执行其调用的函数或方法。 在 Go 语言中,defer 一般用于资源释放,或使用 defer 调用一个匿名函数,在匿名函数中使用 recover() 处理异常 panic。 在使用 defer 时,也很容易遇到陷阱,本文我们介绍使
Mac m1 安装PHP 7.3 任何版本 切换版本
准备Mac安装brew已安装的自行跳过 Mac 安装brew 卸载_brew卸载软件-CSDN博客 安装查看提供的PHP所有版本brew search php,默认只有PHP最新版本 如果想安装其他版本比如php7.3版本,执行brew tap shivammathur/php 再执行brew search php就会发现有PHP7.3版本了 执行安装PHP命令,遇到Y/N输入
分割和跟踪每个像素(STEP)评估
分割和跟踪每个像素(STEP)评估 Segmenting and Tracking Every Pixel (STEP) Evaluation https://www.cvlibs.net/datasets/kitti/eval_step.php 此基准是ICCV21研讨会的一部分:分割和跟踪每个点和像素。 分段和跟踪每个像素(STEP)基准由21个训练序列和29个测试序列组成。它基于KITTI跟
视频直播app源码,利用缓存实现连续登录失败后的时间等待
实现步骤: 1、用户在视频直播app源码中发起登录请求 2、后台验证是否失败次数过多,账户没有锁定的话就进入下面的步骤;否则直接返回 3、验证用户的账号 + 密码 3.1 验证成功:删除缓存3.2 验证失败:统计最近10分钟时间窗口内的失败次数,如果达到5次则设置锁定缓存,返回 图解实现步骤: 代码实现细节: 登录失败计数器的key设计为:一串字符串 + 用户名
1月20日 刷题随笔1 双指针1
1.反转字符(力扣344) https://leetcode.cn/problems/reverse-string/description/ 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题 利用i,j两个指针,i指向数组开头,j指向数组末尾,然后i不断往后走,与此同
Linux操作系统简介:为何成为全球开发者热门选择?
Linux是一种自由和开放源代码的操作系统。这意味着任何人都可以查看、修改和分发Linux的源代码,而不需要支付任何费用。这种开放性使得Linux能够快速地发展和进步,吸引了全球数以万计的开发者共同参与其中,形成了一个庞大的开源社区。 那么,Linux究竟是什么?它又是如何影响我们的生活的呢?让我们一起探索一下。 一、Linux操作系统介绍 在介绍Linux之前,先带大家了解一下什么是自由软件。自
CVE-2018-19518复现
概述 漏洞概述:imap_open函数在传递邮箱名给ssh之前没有正确过滤接收的参数,导致攻击者可以利用-oProxyCommand参数向IMAP服务器发起命令执行恶意代码影响版本:Ubuntu、Debian、Red Hat、SUSE 环境搭建 cd /CVE-2018-19518docker-compose up -d查看网站的组件直接看页面也没有什么思路,直接看代码 分析 imap
1.19 _fetchSql() 和 getLastSql() 的用法
1 fetchSql()的用法 重要点:语法 2 getLastSql() 的用法 删除不掉的原因 具有外键的那张表叫:主表,也就是 details 是主表,internet_bar 这个是 从表 当使用:DELETE FROM business_internet_bar where id = 34; 删除表中的数据的时候,会发生下面的错误 问AI,也是一些麻烦的东西,关键是如果用t
yakit的web fuzzer功能的使用
问题 yakit没有Burp 的 Intruder 爆破模块,那么yakit该怎么进行参数爆破?yakit参数爆破的方式与burp有什么区别? 前言 手工测试场景中需要渗透人员对报文进行反复的发送畸形或者特定的payload进行查看服务器的反馈并以此来进行下一步的判断。 Fuzz标签便是来配合渗透人员应对不同测试场景,可以到达免配置适配大量测试场景。 通过Fuzz标签,自然且完美整合了Host碰撞
基于flask框架的实现python作为微信小程序后端的方法(个人版)
Flask基础语法 引入Flask类 from flask import Flask 创建一个app,也就是Flask类的一个对象 app = Flask(__name__) 接下来写每个路径对应的函数 如 这三行代码可以实现当访问 http://127.0.0.1:5000 (也就是本机地址的5000端口)时,显示helloworld 实现微信小程序获取后端数据——wx.request方法
centOS7安装GLPI 和fusioninventory插件
centOS7安装GLPI, 一、关闭防火墙(不关闭只能本机访问): systemctl stop firewalld.service #停止firewalld服务systemctl disable firewalld.service #设置开机默认不启动 #生产环境单独在防火墙上开启端口和策略# firewall-cmd --permanent --zone=public --add-port=
file_put_contents之PHP伪协议绕过死亡代码
前言 一个CTF比赛中差不多用烂的一个考点,考察选手对php伪协议的灵活运用 前置知识 0x1 Base64解码只解码字符表中的字符,对不在字符表中的字符会直接忽略(相当于置换为空),这里举个例子 F12的base64编码是 RjEy,我们插入一些不在字符表中的字符,仍然可以解码出正确结果 0x2 Base64编码简单来说就是3个字节变4个字节,所以编码后的字符串一定满足4的倍数,满足4的倍数就能
CVE-2012-1823复现练习
环境搭建: Docker Desktop开启cd /CVE-2012-1823docker-compose up -d本地访问80端口 分析 PHP-CGI直接将用户的请求作为了PHP-CGI的参数执行,导致远程代码的执行。先上执行结果 PHP的运行模式: CGI 通用网关接口,接收网页浏览器的数据发送给web服务器,再把执行结果返回给浏览器参考:CGI相当于执行了response =
[转帖]oracle ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库(转载+自己经验总结)
字符集子集向其超集转换是可行的,如此例 ZHS16GBK转换为AL32UTF8。 导出使用的字符集将会记录在导出文件中,当文件导入时,将会检查导出时使用的字符集设置,如果这个字符集不同于导入客户端的NLS_LANG设置,字符集将根据导入客户端NLS_LANG设置进行转换,如果必要,在数据插入数据库之前会进行进一步转换。 通常在导出时最好把客户端字符集设置得和数据库端相同,这样可
白嫖全网资源!免费资源汇总!太牛了!请偷偷收藏,你懂得!
早几年,我们想在手机上搜索点内容简直是噩梦。 使用夸克的原因:夸克网盘不容易河蟹,不像度娘疯起来根本分享不了。一些热门资源基本只有夸克能分享。 在线观看电影、电视剧和综艺和动漫节目的app,提供了丰富的影视资源和便捷的观看体验,早阅读早享受! 夸克是阿里旗下的一款智能搜索App。首先用一张图展示它强大的功能。 具体流程如下图所示 保存成功后打开夸克APP 新用户点击右上角【...】 选择浏览
Web安全-SQL注入常用函数(二)
★★实战前置声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 1、MySQL数据库构成 初始化安装MySQL数据库后(基于MySQL版本5.7.x),默认会创建4个系统数据库: # 默认自带4个系统数据库information_schemamysqlperformance_sche
把D盘的多余空间给C盘
前提 你的C盘和D盘是在同一块物理硬盘上。 下载软件 https://www.diskgenius.cn/download.php 保证你的电脑有足够的电量并且连接电源 备注: 不需要格式化,原有文件不会消失 Setp1 安装软件diskgenius Setp2 选择C盘右键,选择调整分区大小 然后选择C盘,点击确定 如果遇到 , 您选择的分区不支持无损调整容量操作 解决方案 点这里 S
【2024.01.18】RSS的部署和使用
=== 在这个信息杂乱的时代,需要RSS的存在来帮助我们整合信息 这样子我就可以不用开B站看关注的人的信息,打开博客去看别人的博文,打开什么值得买看最新的榜单 而是统统全在一个程序内看完所有的信息 完整的RSS需要有RSS阅读源,RSS服务器,RSS阅读器 RSS阅读器我选择的是Fluent Reader,颜值较高 RSS阅读源我选择的是RSSHUB RSS服务器我选择的是freshRSS 搭建f
[GFCTF 2021]web部分题解(更新中ing)
[GFCTF 2021]Baby_Web 拿源码环节: 打开环境(◡ᴗ◡✿) 乍一看什么都没有,F12下没看到js文件,但是看到了出题师傅的提示:“源码藏在上层目录xxx.php.txt里面,但你怎么才能看到它呢?” 这时候在思考文件在上层目录中,既然是目录下那就试一下dirsearch扫描先看看后台都有什么(这里就直接展示一下扫描结果,收到了一部分新师傅的私信说之前的题解虽然讲了在那些题目下
vulnhub-jangow:1.0.1
jangow:1.0.1 日常练习 0x01 信息收集 nmap老规矩扫一扫 192.168.56.118存活,80端口和21端口开着。 逛了一圈没看到什么有价值的信息,爆破一下路径看看。 site目录刚刚看过了,.backup看看是什么 这里面有数据库的账户密码,暂时不知道是用在哪。到这里没有什么有用的了。 0x02 FTP登录 刚刚端扫扫出来的另一个21端口,利用windows的直
【SCTF-Round#16】 Web和Crypto详细完整WP
每天都要加油哦! ------2024-01-18 11:16:55 [NSSRound#16 Basic]RCE但是没有完全RCE <?php error_reporting(0); highlight_file(__file__); include('level2.php'); if (isset($_GET['md5_1']
19、nginx中location语法
1. 概述 在实际应用中,权限控制的需求更加复杂。例如,对于网站下的img目录允许所有用户访问,但对于网站下的admin目录则仅允许管理员身份的用户访问。此时,仅靠deny和allow这两个权限指令不能满足用户的需求,还需要使用location块来完成相关需求的匹配。 2.location语法 在上述语法中=、~、~*、^~、@都是location用于实现访问控制的前缀,且在使用时只能选择
QT程序多平台下可执行文件的打包方式
一、简述 QT项目开发完成后,需要打包发布程序,在实际生产中不可能把源码发给别人,所以需要将源码打包正可执行文件或者安装程序。 二、设置应用图标 把 ico 文件放到源代码目录下,在QT项目中的'.pro'文件中添加自己准备好的ico文件(使用QT默认生成的图标时,可以跳过这一步) RC_ICONS = user.ico // user.ico是自己的图标名称
docker 搭建多版本php环境
下载相关镜像 php5.4版本:docker pull php:5.4-fmp php7.4版本:docker pull php:7.4-fpm nginx版本:docker pull ngxin:latest(最新版本) -- 运行phpdocker run -d -v 本地代码路径:容器内代码路径 -p 本地端口:容器端口 --name 镜像的名字 刚下载的php版本 eg:
NSS Round#16 web
RCE但是没有完全RCE level1:md5强比较绕过使用md5碰撞,我这里直接用碰撞好的结果 level2:md5弱类型比较其实看起来确实是想考察弱类型比较,但是这里比较的都是md5_3,自己跟自己比较,输入什么都行 level3:绕过关键字执行rce常规思想,看到$shell($cmd)组合就觉得shell应该设置为调用shell的函数system、exec之类,然后cmd设置为
微软AD域控自助改密系统搭建
自助改密系统研究 同事有这么一个需求,希望能够通过一个系统自助改密、以及忘记密码后可以自助重置密码。 PS: 收了人两瓶可乐,在不把这个系统研究出来有点过分了 1.域控配置 1.1 系统环境信息 SSP为Self Service Password改密系统 DC为windows2016域控 主机名 OS版本 ip地址 cpu 内存 磁盘 SSP Ubuntu 22.04 10.
FastCGI访问PHP-FPM实现任意代码执行
之前学习web的Nginx解析漏洞就看到了FastCGI协议,今天学习一下。顺便看看有什么漏洞可以复现 Nginx解析漏洞 Nginx接受用户的http请求后生成的cgi环境变量有一SCRIPIT_NAME和PATH_INFO比如想要请求 /var/www/html/example.gif/.php那么/var/www/html/example.gif就是SCRIPT_NAME /.php就是PA
BUU CODE REVIEW 1
首先进入靶机 代码审计发现,需要get传入1个参数,post传入四个参数;当correct和input相同时,就会输出flag。因此首先需要解决反序列化,再解决md5。 构造序列化的代码,关键在于使得correct===input。 ※※※解读base64_encode(uniqid()):对uniqid()生成的唯一标识符进行base64编码。由于uniqid()生成的标识符是基于
[NSSRound#16 Basic]RCE但是没有完全RCE
题目代码: 第一个是md5强类型比较,用数组md5_1[]=1&md5_2[]=2不行,那就用md5碰撞,使用payload: 第二个是md5弱类型比较, 只要两个数的md5加密后的值以0e开头就可以绕过,因为php在进行弱类型比较(即==)时,会先转换字符串的类型,再进行比较,而在比较时因为两个数都是以0e开头会被认为是科学计数法,0e后面加任何数在科学计数法中都是0,所以两数相等