PHP
PHP下的webshell免杀
异或免杀 大多数情况下,开发者为了方便自身的需求,会使用"黑名单"的方式扳掉许多敏感函数,来达到一个表面看上去新相对安全的一个目的,但是却不知道因为这种大意的思维会导致整个系统都处于极度危险中;攻击者以往遇见这种情况。完全可以通过加密的方法可以解决大部分的问题(eg:异或加密,base家族加密,URL加密.....)。所以我们常常会说:白名单>WAF>黑名单! "^"为异或运算符,在P
XXE漏洞--xml基础知识
一、XML基础知识 可以用于配置文件、交换数据 要求: XML文档必须有根元素 XML文档必须有关闭标签 XML标签对大小写敏感 XML元素必须被正确嵌套 XML属性必须加引号 DTD(Document Type Definition) 文档类型定义 自动校验格式内容,元素ELEMENT校验 实体ENTITY定义字符或值,相当于全局变量,可以进行引用。 内部实体:xml内部定义的 <!ENT
k8s实战案例之运行WordPress
1、WordPress架构 LNMP案例之基于Nginx+PHP实现WordPress博客站点,要求Nginx+PHP运⾏在同⼀个Pod的不同容器;nginx主要作用是接入站点请求,如果请求静态资源nginx就直接响应;如果请求的是一个动态php资源,就将对应请求转发给另一个php容器进行处理;在一个pod中运行多容器,网络名称空间是共享的,所以nginx可以将对应请求转发至127.0.0.1
ChatGPT-NextWeb部署和调试打造属于自己的GPT
首先我关注这个项目有一段时间了,不得不说作者和他的社区真的很猛! 首先这个项目截至目前已经有了40.9K的Start了,Fork也已经有了38.1K了,这个数据真的超级牛批了。 那么我们来看一下这款号称: “一键拥有你自己的跨平台 ChatGPT 应用”。的应用都有那些过人之处吧。 不想看的直接去搭建好的站点体验,下面的教程是针对想自己搭建和自己本地运行的 https://ikunn.ciu 都是
Docker搭建lnmp之network篇
docker pull nginx #拉去最新的nginx镜像 一、搭建vagrant+VagrantBox VM环境 创建Vagrantfile文件 vagrant init 编辑Vagrantfile文件 Vagrant.configure("2") do |config| config.vm.box = "centos7"
ThinkPHP6学习笔记2
门面模式 facade facade 不能在模型里面建立关联关系: 这里是属于注入是不能使用facade类的 Facade 怎么获取model实例对象 依赖注入的的时候需要使用原生的类 依赖注入的优势是支持接口的注入,而Facade则无法完成。 tp6 Request类 appRequest 控制器自动注入Request对象,继承于 thinkRequest thinkRequest
禾匠小程序商城搭建教程
1、演示环境配置 服务器2核2G + centos7.9 + php7.2 + mysql5.7.40 + redis6.2.7 + baota8.0.1 2、创建网站 保存好创建的数据库信息 3、上传后台 上传完毕以后,解压 4、配置站点 网站目录选择创建好的站点即可,不需要点击到站点目录里面 5、安装禾匠商城 访问地址为你的域名,本次本地测试使用的是ip 根据提示填写即可,然后点
pstack,strace,gdb工具使用
pstack,strace,gdb工具使用MySQL 的几种调式分析工具介绍MySQL 的几种调式分析工具,常用的有如下4种:pstackgdbstraceperf如下分别介绍之。 pstack 注意:pstack所追踪的是用户态调用栈 获取堆栈信息问题线程的定位负载较低mysql_pid=23632pstack $mysql_pid>pstack.infopt-pmp对堆栈信息排序pt-p
iwebsec-文件上传 02 文件名过滤绕过
01、题目分析 文件上传过滤类型,题目中已经告诉我们了,我们已经知道了过滤类型,但是出于学习和判断的目的,那么我们还是得判断一下文件上传过滤类型 02、文件上传 先用哥斯拉创建一个一句话木马 命名为1.php 然后尝试上传木马 依旧是被拦截,但是这次burp抓到了数据包,说明是后端过滤 分析数据包可以发现,不仅仅是过滤了文件名,还有可能过滤了文件类型,那我们可以先上传一个正常的图片文件,然后
iwebsec-文件上传 03 Content-Type过滤绕过
01、题目分析 文件上传的文件类型过滤,题目中已经告诉我们了,我们已经知道了过滤类型,但是出于学习和判断的目的,那么我们还是得判断一下文件上传的过滤类型 02、文件上传 先用哥斯拉创建一个一句话木马 命名为1.php 然后尝试上传木马 依旧是被拦截,但是这次burp抓到了数据包,说明是后端过滤 分析数据包可以发现,不仅仅是过滤了文件名,还有可能过滤了文件类型,那我们可以先上传一个正常的图片文
iwebsec-文件上传 04 文件头过滤绕过
01、题目分析 文件上传的文件头过滤,题目中已经告诉我们了,我们已经知道了过滤类型,但是出于学习和判断的目的,那么我们还是得判断一下文件上传的过滤类型 02、文件上传 既然文件头过滤,直接在木马文件中加上文件头GIF98a,然后直接上传即可,如果有文件类型过滤,那么就像上一关一样更改下文件类型即可 03、源码分析
iwebsec-文件上传 06 文件截断上传
01、题目分析 02、文件上传 如果直接在页面输入框直接输入%00截断符,会生成a.php%00_1319128057.jpg这样的文件,很明显不符合我们的预期 然后采用burp抓个包,把包中的post表项中的%00进行url-decode编码,然后再在文件名上进行%00截断,即可实现文件截断上传 03、源码分析
iwebsec-文件上传 07 条件竞争
01、题目分析 在文件上传的时候,会有一瞬间进行判断,如果上传文件违规会进行删除,我们要做的就是在删除文件之前先访问到上传的文件,就可以通过两个不断的发包实现这个功能,先发一个一直上传的包,再同时发一个一直访问的包,一直循环,找到一个文件在服务器的时候正好访问到的时机,不仅仅访问,同时创建出一个后门 02、文件上传 访问代码:访问即创建代码搞出来(访问了自动创建一个后门代码) 然后先抓一个访问s
webman:安装/创建项目(v1.5.7)
一,官方文档: 1,官方站: https://www.workerman.net/webman 2,安装文档: https://www.workerman.net/doc/webman/install.html 二,准备安装环境: 1,需求 环境需求 PHP >= 7.2 Composer >= 2.0 2,查看本地环境:php: liuhongdi@lhdpc:
webman:修改默认页面(v1.5.7)
一,默认页面的内容: 说明:代码位于 app/IndexController.php 参考这个文档: https://www.workerman.net/doc/webman/route.html 原始代码:显示了README.md这个文件的内容 1 2 3 4 5 6 7 8 9 10 class IndexController {  
webman:管理命令(v1.5.7)
一,启动和停止 1,启动 #-d: 以daemon方式启动,用于生产环境 liuhongdi@lhdpc:/data/webman/imageadmin$ php start.php start -d Workerman[start.php] start in DAEMON mode ------------------------------------------- WO
webman:配置路由(v1.5.7)
一,官方文档地址: https://www.workerman.net/doc/webman/route.html 二,php代码: config/route.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <?php use WebmanRoute; //指定
webman:返回统一格式的json(v1.5.7)
一,php代码: 1,类代码: app/result/Result.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 <?php /* 统一格式的返回json数据 *
webman:请求参数(v1.5.7)
一,官方文档: https://www.workerman.net/doc/webman/request.html 二,示例代码: ImageController.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 <?php name
iwebsec-sql注入 13 二次注入
01、题目分析 二次注入的原理是先把sql注入语句存放在数据库中,然后第二次通过调用数据库的数据(提前放置好的注入语句),然后进行sql注入 那么我们先将注册用户,将sql语句存放在数据库中,然后通过找回密码操作,数据库会自动调取数据库中的数据,就执行了我们的sql语句 02、手工注入 二次注入的前提是代码中使用了addslashes 或者是借助 get_magic_quotes_gpc 对其中
使用antsword上传文件漏洞到upload靶场之三
使用antsword上传文件漏洞到upload靶场之三 Pass-11 先观察一下代码,发现save_path是一个可控的变量,但是后面还拼接上一个后缀名,也需要绕过。这个时候可以使用%00截断 00截断原理 0x00是十六进制表示方法,是ascii码为0的字符,在有些函数处理时,会把这个字符当做结束符。系统在对文件名的读取时,如果遇到0x00,就会认为读取已结束。在PHP5.3之后的版本中完全修
PHP工程师使用MD5值的秘密
作为一名PHP工程师,您是否曾经听说过md5值?如果没有,那么您在进行数据加密方面的工作可能会遇到一些困难。因此,在这篇文章中,我们将详细介绍md5值的基本知识以及如何在PHP中使用它来加密数据。 一、md5值的概述 MD5(Message Digest Algorithm 5)是一种密码散列函数,用于将任意长度的信息压缩为固定长度的信息摘要(通常是128位)。它通常用作数据验证和加密。因为MD
CTFer成长记录——CTF之Web专题·bugku—never_give_up
一、题目链接 https://ctf.bugku.com/challenges/detail/id/88.html 二、解法步骤 打开网页,url中看到id=1,修改成2、3、4发现无反应。然后查看网页源代码:,提示一个网址,直接访问看看: 发现url跳转到了bugku的论坛: BP抓1p.html网页的包,在返回包中发现一串密文: --JTIyJTNCaWYoISUyNF9
Linux基础35 搭建博客,搭建知乎,搭建edusoho
5.搭建博客wordpress 1)上传包 从https://cn.wordpress.org/下载 wordpress-5.0.3-zh_CN.tar.gz 2) 解压代码包 3) 授权目录 4) 配置nginx 5) 创建数据库 在数据库中添加一个库 出现下图,表示成功 登录 博客搭建完成 注: 插入
C# QRCode二维码的解析与生成
已知一张二维码图片,怎么生成一张一模一样的图片出来? 最近有个项目,需要用到QRCode,之前只做过Datamatrix格式的,想着应该也是差不多的,于是就依葫芦画瓢,掏出我的陈年OnBarcode类库,一通修改,生成了个崭新的QRCode,与客户提供的二维码图片一比对,虽然扫出来内容一样,但明显图案并不相同,于是我就意识到,事情并不简单。原图如下: 首先第一个怀疑的就是参数问题啦,
MySQL的Json类型字段IN查询分组和优化方法
前言 MySQL从5.7的版本开始支持Json后,我时常在设计表格时习惯性地添加一个Json类型字段,用做列的冗余。毕竟Json的非结构性,存储数据更灵活,比如接口请求记录用于存储请求参数,因为每个接口入参不一致,也有不传和空传的等等。 然而在一些特定场景下,需要用Json字段里的某个