自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BUUCTF web(九)

BUUCTF刷题笔记

2022-08-29 10:48:20 1187 1

原创 ThinkPHP v6.0.x反序列化漏洞复现

这次ciscnweb就做出来一道题呜呜呜呜呜我太菜了唯一的一道在这里仔细复现分析一下贴一张当时的图当时用dirsearch扫到了www.zip,down下来直接拖到wamp里搭建成功题目中的入口函数在\app\controller\Index.php中在ThinkPHP6.0完全开发手册中可以看到进入路由的访问url访问测试漏洞起点在/vendor/topthink/think-orm/src/Model.php中的**__destruct()**函数魔术方法__destruct()

2022-06-02 17:44:28 831

原创 BUUCTF web(八)

[WUSTCTF2020]朴实无华robots.txt发现提示,抓包/fAke_f1agggg.php,发现访问/fl4g.php<?phpheader('Content-type:text/html;charset=utf-8');error_reporting(0);highlight_file(__file__);//level 1if (isset($_GET['num'])){ $num = $_GET['num']; if(intval($num) &

2022-02-24 23:28:21 4396

原创 计算机网络——第六章 链路层和局域网

第六章 链路层和局域网6.1 链路层概述我们将运行链路层协议的任何设备均称为节点。节点包括主机、路由器、交换机和WiFi接入点。我们也把沿着通信路径连接相应节点的通信信道称为链路。在通过特定的链路时,传输节点将数据报封装在链路层帧中,并将该帧传送到链路中。6.1.1 链路层提供的服务链路层协议能够提供的可能的服务包括:成帧:把网络层数据报和一些首部字段封装成帧。链路接入:**媒体访问控制(MAC)**协议规定了帧在链路上的传输规则。在点对点电路中(只有一个发送方和一个接收方)MAC的协议较简单

2022-01-22 11:49:34 3176

原创 Race_Condition_new

竞争条件漏洞实验室更新日期:2020年7月26日版权所有©2006-2020杜文良,保留所有权利。免费用于非商业教育目的。禁止将这些材料用于商业用途。种子项目是由美国国家科学基金会的多项资助资助的。1 概述本实验室的学习目标是让学生将从课堂上学到的关于种族条件脆弱性的知识付诸行动,从而获得有关种族条件脆弱性的第一手经验。当多个进程同时访问和操作同一数据时,会出现竞争条件,执行的结果取决于访问发生的特定顺序。如果特权程序存在竞争条件漏洞,攻击者可以运行并行进程与特权程序“竞争”,以改变程序的

2021-12-08 19:03:25 2822 1

原创 计算机网络——第五章 网络层:应用平面

第五章 网络层:应用平面5.1概述完成转发表和流表的工作有两种可能的方法:每路由器控制:每台路由器中都包含转发和路由选择功能,每台路由器都有一个路由选择组件,用于与其他路由器中的路由选择组件通信,以计算其转发表的值。逻辑集中式控制:通用的“匹配加动作”抽象允许执行传统的IP转发以及其他功能(负载共享、防火墙功能和NAT)的丰富集合,而这些功能先前是在单独的中间盒实现的 。该控制器经一种定义良好的协议与每台路由器中的一个控制代理(CA)进行交互。以配置和管理该路由器的转发表。CA一般具有最少的功

2021-12-04 01:56:26 151

原创 Format_String_Server

格式字符串漏洞实验室1 概述C中的printf()函数用于根据格式打印字符串。它的第一个参数称为format string,它定义了字符串的格式化方式。格式化字符串使用printf()函数的%字符标记的占位符在打印过程中填充数据。格式字符串的使用不仅限于printf()函数;许多其他函数,如sprintf()、fprintf()和scanf(),也使用格式字符串。有些程序允许用户以格式字符串提供全部或部分内容。如果这些内容没有被清除,恶意用户可以利用这个机会让程序运行任意代码。类似的问题称为格式

2021-12-03 11:18:11 3144

原创 ThinkPHP 3.2.x RCE漏洞复现

打湖湘杯遇到一个类似的willphp题目,都审到cfile了没做出来。。。于是把这个翻出来搞了一波,过程参考了网上别的师傅的0.0什么是ThinkPHPThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不

2021-11-29 20:41:03 1930

原创 BUUCTF web(七)

[BJDCTF2020]Cookie is so stablehint里面抓包看看猜测这里可能是SSTI,但是试了几个命令都不行整不会了,看了别的师傅的wppayload:{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}参考:https://blog.csdn.net/weixin_44477223/article/details/115673318[AS

2021-11-25 22:12:24 1547

原创 BUUCTF web(六)

[BJDCTF2020]ZJCTF,不过如此<?phperror_reporting(0);$text = $_GET["text"];$file = $_GET["file"];if(isset($text)&&(file_get_contents($text,'r')==="I have a dream")){ echo "<br><h1>".file_get_contents($text,'r')."</h1></br

2021-11-25 12:48:25 2812

原创 BUUCTF web(五)

[GXYCTF2019]BabyUpload传呗,先传个php一句话检测后缀了,大小写也绕不过去试了下别的后缀也不大行抓包康康抓包改后缀和content-type倒是能绕过,但是上传的文件依旧是一个jpg而不会被当作php解析嘶。。。欸?等等那还等啥,传它!直接传也是不行的,抓包改下content-type之前已经传过马了,连下试试芜湖!flag在根路径里拿来吧你![BUUCTF 2018]Online Tool$host = escapeshellarg($h

2021-11-21 18:44:42 926

原创 Buffer Overflow Vulnerability Lab

实验四 缓冲区溢出漏洞实验室1概述本实验室的学习目标是让学生们将从课堂上学到的有关缓冲区溢出漏洞的知识付诸行动,从而获得有关该漏洞的第一手经验。缓冲区溢出是指程序试图将数据写入预先分配的固定长度缓冲区边界之外的情况。恶意用户可利用此漏洞更改程序的流控制,从而导致恶意代码的执行。在本实验室中,学生将获得一个具有缓冲区溢出漏洞的程序;他们的任务是开发一个利用漏洞的方案,并最终获得根权限。除攻击外,还将引导学生了解操作系统中实施的几种保护方案,以抵御缓冲区溢出攻击。学生需要评估这些计划是否有效,并解释原因

2021-11-13 02:34:56 2561

原创 BUUCTF web(四)

[网鼎杯 2020 青龙组]AreUSerialz<?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { protected $op; protected $filename; protected $content; function __construct() { $op = "1"; $filename = "/tmp/tmpfile

2021-11-07 20:14:30 339

原创 BUUCTF web(三)

[HCTF 2018]admin随便注册了一个账号,登陆进去在change password界面源码找到了Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。康康路由。#!/usr/bin/env python# -*- coding:utf-8 -*-from flask import Flask, render_template, url_for, flash, re

2021-11-01 16:47:54 167

原创 Shellshock Attack Lab

Shellshock Attack Lab使用Ubuntu 16.0420.04可以使用docker或者安装apache做后面的taskTask1Bash的版本:在本书提供的SEED Ubuntu 16.04虚拟机中,有两个版本的Bash程序位于/bin目录中。一个版本就叫Bash,这个版本已经打了补丁,所以不会受Shellshock攻击的影响。终端中运行的shell程序就是这个安全的Bash版本,它在函数传递的行为方面做了改变。另外一个版本叫bash_shellshock,这个版本没有打过补丁。因

2021-10-28 23:19:55 356

原创 计算机网络——第四章 网络层:数据平面

第四章 网络层:数据平面4.1 网络层概述4.1.1 转发和路由选择:数据平面和控制平面网络层表面上看的功能极为简单即将分组从一台发送主机移动到一台接收主机,其两种重要功能:转发:当一个分组到达某路由器的一个输入链路时,该路由器必须将该分组移动到适当的输出链路。转发是在数据平面实现的唯一功能,分组也有可能被现有的路由器阻挡,比如该分组来源于一个已知的恶意主机,或者该分组被发向一个被禁止的目的主机,或者可能是冗余的并经过多条出链路发送。路由选择:当分组从发送方流向接收方时,网络层必须决定这些分组所

2021-10-25 09:50:55 674

原创 BUUCTF web(二)

[极客大挑战 2019]Uploadupload想到了文件上传漏洞,先传个一句话木马试试,php和图片马都不行试一下phtml,phtml一般是指嵌入了php代码的html文件,但是同样也会作为php解析也不行,抓包改一下Content-Type不让用<?,那就换一种 。。。。再加个文件头GIF89aOK了,猜测路径应该在/upload里面蚁剑连上找到根目录下的flag[RoarCTF 2019]Easy Calc源码发现<?phperror_reportin

2021-10-21 01:05:32 1388

原创 BUUCTF web(一)

[强网杯 2019]随便注方法一查询的过程中发现有过滤尝试以下报错注入,用到了extractvalue()简单讲一下extractvalue()。语法:extractvalue(目标xml文档,xml路径),路径为/xx/xx/…,如果路径非法就会报错并且返回非法内容,所以我们正可以借此查询到目标内容,用concat()拼接‘/’也是一样的,但是拼接‘~’就不合法了:1’ and extractvalue(1,concat(’~’,database()))#最长32位哈,超过32用subst

2021-10-19 23:37:17 1629

原创 计算机网络——第三章 运输层

第三章 运输层3.1概述和运输层服务运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信,从应用程序的角度看通过这玩意运行不同进程的主机好像直接相连一样(而实际上它们可能位于地球的两端并且中间隔了很多路由器和链路)。运输层协议是在端系统中而不是在路由器中实现的。在发送端,运输层将从发送应用程序接收到的报文转化为运输层分组,也叫运输层报文段,实现的方法(可能)是将应用报文划分为较小的块,并为每块加上一个首部成为一个运输层报文段,然后传送到网络层,网络层将其分装为网络层分组(数据报)并向目的地发送。请

2021-09-28 23:56:49 1530

原创 DVWA file upload文件上传-MEDIUM

随便传个东西试试,发现上传文件类型有限制burpsuite抓个包看看把MIME类型按照格式改成png搞定,中国蚁剑连上看看源码可以看到,upload_type这个变量储存了mime类型,然后判断文件类型是不是png或者jpeg,并且文件大小不能超过100000B...

2021-07-07 16:04:48 112

原创 DVWA file upload文件上传-LOW

一句话木马eval() 函数把字符串按照 PHP 代码来计算。 该字符串必须是合法的 PHP 代码,且必须以分号结尾传它!!得到上传路径,中国蚁剑干他就完事了!来看看源码,发现确实没有过滤

2021-07-07 15:02:55 159

原创 计算机网络——第二章 应用层

3第二章 应用层2.1应用层协议原理研发网络应用程序的核心是写出能够运行在不同端系统和通过网络彼此通信的程序。2.1.1网络应用程序体系结构应用程序体系结构由应用程序研发者设计,规定了如何在各种端系统上组织该应用程序。在选择应用程序体系结构时,应用程序研发者很可能利用现代网络应用程序中所使用的两种主流体系结构之一:客户-服务器体系结构或对等(P2P)体系结构。客户-服务器体系结构中,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户的主机的请求。客户之间并不直接通信。另一个特征是该服务器

2021-06-05 15:33:21 1026 2

原创 计算机网络——第一章 计算机网络和因特网

第一章 计算机网络和因特网1.1肾么是因特网1.1.1具体构成PC、Linux工作站甚至所谓的服务器和智能手机、平板电脑(称为主机或者端系统),端系统通过通信链路和分组交换机连接到一起,链路的传输数据以比特/秒(bps)度量。端系统之间发送数据时将数据分段,并为每段加上首部字节,这个信息包称为分组。分组交换机两种最常见的类型为路由器和链路层交换机,链路层交换机常常用于接入网中,而路由器常常用于网络核心中。从发送端系统到接收端系统,一个分组所经历的一系列通信链路和分组交换机称为通过该网络的路径。端系

2021-05-30 14:13:01 474

原创 11.子查询(4.1及以上)

利用子查询进行过滤本书所有章中使用的数据库表都是关系表(关于每个表及关系的描述,请参阅附录B)。订单存储在两个表中。对于包含订单号、客户ID、 订单日期的每个订单,orders表存储一行。各订单的物品存储在相关的 orderitems表中。orders表不存储客户信息。它只存储客户的ID。实际的客户信息存储在customers表中假如需要列出订购物品TNT2的所有客户,应该怎样检索?下 面列出具体的步骤。(1) 检索包含物品TNT2的所有订单的编号。(2) 检索具有前一步骤列出的订单编号的所

2021-05-26 01:03:46 134 1

原创 10.分组数据

这涉及两个新SELECT语句子句,分别是GROUP BY子句和HAVING子句。比如语句SELECT COUNT(*) AS num_prods FROM products WHERE vend_id = 1003;这个例子返回供应商1003提供的产品数目。但是要想得到每个供应商的产品数目怎么办,或者只返回提供10个以上的产品数怎么办?创建分组把数据分为多个逻辑组,以便对每个组进行聚集计算。因为使用了GROUP BY,就不必指定要计算和估值的每个组了。系统会自动完成。GROUP

2021-05-26 01:02:02 143

原创 9.汇总数据

聚集函数运行在行组上,计算和返回单个值的函数。AVG()函数AVG()通过对表中行数计数并计算特定列值之和,求得该列的平均值。AVG()可用来返回所有列的平均值,也可以用来返回特定列或行的平均值。SELECT AVG(prod_price) AS avg_price FROM products;返回值avg_ price包含products表中所有产品的平均价格。也可以返回特定行或列的平均值:SELECT AVG(prod_price) AS avg_price FROM p

2021-05-26 01:00:20 41

原创 DVWA sql注入-HIGH

1.判断是否存在sql注入漏洞看到Click [here to change your ID]页面做了自动跳转,防御了自动化的sql注入出现报错,存在sql注入2.判断注入漏洞的类型不是数字型注入可以看到这个为字符型注入3.猜解数据库猜解并验证列数数据库字段为2获取数据库信息查询用户名和数据库名爆表名爆出users中的字段名获取字段中的user和password...

2021-05-26 00:59:01 208

原创 8.使用数据处理函数

相对来说,多数SQL语句是可移植的,但是函数的可移植性却不强,几乎每种主要的DBMS的实现都支持其他实现不支持的函数,而且有时差异还很大。所以为了代码的可移植性有些时候不赞成使用特殊实现的功能,所以如果决定使用函数,应该做好代码注释,以便以后我或者其他人能确切知道SQL代码的含义大多数SQL实现支持以下类型的函数。1 用于处理文本串(如删除或填充值,转换值为大写或小写)的文本函数。2 用于在数值数据上进行算术操作(如返回绝对值,进行代数运算) 的数值函数。3 用于处理日期和时间值并.

2021-05-25 02:08:57 84

原创 7.创建计算字段

拼接:将值联结到一起构成单个值,使用Concat()函数其他DBMS多使用+或者||来实现拼接,MySQL则使用Concat()函数,在不同DBMS之间进行语句转换时要注意函数的参数为一个或者多个指定的串还可以调用删除数据右侧空格的RTrim()函数来整理数据:除此之外还支持LTrim()去掉左边空格和Trim()去掉串左右两边的空格。别名:使用AS关键字来给新列起一个名字现在给新的列起了一个名字:vend_title,现在任何客户机应用都可以按名引用这个列,就像它是一个

2021-05-25 02:06:49 53

原创 6.正则表达式进行搜索

SELECT 列名1,列名2 FROM 表 WHERE 列名1 REGEXP '1000' ;(包含文本1000的所有的行)SELECT 列名1,列名2 FROM 表 WHERE 列名1 REGEXP '.000' ;(.表示匹配任意一个字符)为区分大小写可以使用BINARY关键字如:WHERE prod_name REGEXP BINARY 'JetPack .000'like匹配整个值,而REGEXP匹配值中所包含的。OR匹配SELECT 列名1,列名2 FROM 表 WHER.

2021-05-25 02:05:33 225

原创 第二章 什么是MYSQL

2.1什么是MYSQL数据的所有存储、 检索、管理和处理实际上是由数据库软件——DBMS(数据库管理系统) 完成的。MySQL是一种DBMS,即它是一种数据库软件。2.1.1客户机-服务器软件DBMS可分为两类:一类为基于共享文件系统的DBMS,另一类为基于客户机—服务器的DBMS。前者(包括诸如Microsoft Access和FileMaker)用于桌面用途,通常不用于高端或更关键的应用。MySQL、Oracle以及Microsoft SQL Server等数据库是基于客户机—服务...

2021-05-25 02:02:26 123

原创 5.通配符过滤

LIKE操作符%通配符SELECT 列名1,列名2 FROM 表 WHERE 列名1 LIKE ‘jet%’;百分号表示任何字符出现的任意次数,这句话的含义是找出以词jet起头的元素。也可以位于模式的两端SELECT 列名1,列名2 FROM 表 WHERE 列名1 LIKE ‘%jet%’;(表示匹配任意位置包含文本et的值)也可以在中间SELECT 列名1,列名2 FROM 表 WHERE 列名1 LIKE ‘s%e’;(匹配以s开头以e结尾的值)%代表在搜索模式中给定位

2021-05-25 01:59:38 59

原创 4.过滤数据

相等过滤SELECT 列名 FROM 表名 WHERE 列名 = 值;(ORDER BY 语句在WHERE之后)范围过滤SELECT 列名 FROM 表名 WHERE 列名 < 值;不匹配检查SELECT 列名 FROM 表名 WHERE 列名 <> 值;(值为字符串的值时则需要引号,数值则不需要)范围检查SELECT 列名 FROM 表名 WHERE 列名 BETWEEN 值1 AND 值2;检查是否为NULLSELECT 列名 FROM 表名 WHE

2021-05-25 01:55:45 96

原创 3.排序检索数据

以顺序排序SELECT 列名 FROM 表名 ORDER BY 列名;(用非检索的列排序数据也是完全合法的)按多个列排序SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 列名1,列名2;(排序顺序按规定顺序进行,也就是说只有在多个行拥有相同的列名1的时候才会按列名2进行排序)进行降序排序SELECT 列名 FROM 表名 ORDER BY 列名 DESC;对多个列进行排序SELECT 列名1,列名2,列名3 FROM 表名 ORDER BY 列名1 DESC

2021-05-25 01:50:30 164

原创 2.SELECT语句

检索某个列SELECT 列名 FROM 表名;检索多个列SELECT 列名1,列名2,列名3 FROM 表名;返回所有列SELECT * FROM 表名;(*的好处可以检索出未知列)检索出有不同值的列SELECT DISTINCT 列名 FROM 表名;(多个列时DISTINCT应用于所有列而不仅是前置它的列)限制结果SELECT 列名 FROM 表名 LIMIT 5;(返回结果不多于5行)SELECT 列名 FROM 表名 LIMIT 5,5;(返回结果为从行5开始

2021-05-25 01:49:49 177

原创 第三章 使用MYSQL 1.SHOW用法

1.SHOW用法选择数据库USE 数据库名字;-Database changed显示表SHOW DATABASES;显示表的列表SHOW TABLES;显示表列SHOW COLUMNS FROM 列表名; //也可以写为DESCRIBE 列表名;其他SHOWSHOW STATUS,用于显示广泛的服务器状态信息;SHOW CREATE DATABASE和SHOW CREATE TABLE,分别用来显示创建特定数据库或表的MySQL语句;SHOW GRANTS

2021-05-25 01:48:52 160

原创 DVWA sql注入-MEDIUM

1.判断是否存在sql注入漏洞可以看到不是get型数据提交方式了,查询数据也变成了下拉表单的方式。burpsuite抓包吧那就常规判断有无注入及其类型推测有转义符转义为数字型注入数据库字段为2获取数据库信息1'union select version(),@@version_compile_os#查询用户名和数据库名1 union select database(),user()#爆表...

2021-05-25 01:45:30 521

原创 DVWA sql注入-LOW

1.判断是否存在sql注入漏洞出现报错,说明存在sql注入漏洞,无论是字符型还是整形都会因为单引号个数不匹配而报错。如果未报错则未必存在sql注入,有可能存在对输入内容的过滤,采用其他方法判断是否存在注入。2.判断注入漏洞的类型分为两种:数字型和字符型。这是数据库本身存储数据时赋予给数据的类型。先判断是否为数字型:输入1 and 1 = 1页面运行正常输入1 and 1 = 2页面也运行正常 分析: 如果查询语句为数字型的话...

2021-05-23 20:45:19 555 2

原创 第一章 了解MYSQL

目录1.1数据库基础1.1.1什么是数据库1.1.2表1.1.3列和数据类型1.1.4行1.1.5主键1.2什么是SQL1.1数据库基础1.1.1什么是数据库数据库可以想象为一个文件柜。数据库保存用组织的数据的容器(通常是一个文件或一组文件)1.1.2表在文件柜中创建文件,然后将相关资料放进特定的文件中,这种文件称为表,它是一种结构化的文件,来储存某种特定类型的数据,可以保存比如顾客清单、产品目录。每个表都有自己的名字用来标识自己是独一无二的,此名字.

2021-05-23 20:25:10 52

空空如也

空空如也

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

TA关注的人

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