自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Flask SSTI利用方式探索

网站前后端的原因,全部的逻辑都放在了前端或者后端的话,就会造成执行的过于繁杂,所以我们就诞生了模板这一个东西,他可以将前端的显示和后端的代码分离,(就是让前端的工作人员注重表现设计,后端人员注重业务逻辑)同时简化代码的复杂程度,本质上的模板就是将莫办文件和数据通过模板引擎生成最终的html代码(注重一个点,渲染){{…}}这个就是我们经常用到的一个语句,比如{{88*8}}就会输出724大部分其实就是因为模板本身的后端是支持这些东西的其实就是对信息执行条件的不一样,造成了我们进行信息输入的时候

2022-01-05 13:04:01 584

原创 [SWPUCTF 2018]SimplePHP

第一个点先找到文件,我们找找file.php发现function.php和class.php进去发现发现提示进入class.php,发现源码了class C1e4r{ public $test; public $str; public function __construct($name) { $this->str = $name; } public function __destruct() {

2021-12-22 20:21:41 365

原创 异或模式思考

什么是按位异或,异或本质是二进制运算100101011100对应二进制位相异(不相同)时,结果为1,否则为0.举例: 比如9^5,其实就是1001 ^0101 = 12,因此9^5=1100=12对各个位置上进行异或处理在php中,abc^def,会产生一个新的字符串,比较方式是:a的ascii码和d的ascii码进行二进制异或操作,生成新的二进制,然后转换为ascii,进而生成新的异或结果。所以,异或会产生新的字符串,上面表哥给的payload就是基于这样的方式生成出来的。所以我们想,如

2021-12-16 06:59:11 295

原创 异或脚本参照

这是两个异或绕过的脚本,异或是什么,^这个符号代表的是异或的意思,当我们在PHP语言中输入echo “b”^“w” 的时候,语言本身会自动计算b和w的ascll编码值的差别,然后直接输出该差别值的ascll编码数据是谁,这样我们就能够在不输入字母或者数字的条件下利用{}划分区域无字母数字输出数字或字母进行绕过,具体的操作过程下方<?phpfunction finds($string){ $index = 0; $a=[33,35,36,37,40,41,42,43,45,47,58

2021-12-16 06:55:54 1062

原创 buuctf easyphp

我们用这个输出但我不明白为什么,不能直接把“POST[‘a’];”全都异或掉,这多省事儿了,但好像不行,而且好像还只能是GET型,我尝试了POST类型行不通。目前我就只知道它可以代替"GET",然后配合_POST[‘a’];” 全都异或掉,这多省事儿了,但好像不行,而且好像还只能是GET型,我尝试了POST类型行不通。目前我就只知道它可以代替"_GET",然后配合P​OST[‘a’];”全都异或掉,这多省事儿了,但好像不行,而且好像还只能是GET型,我尝试了POST类型行不通。目前我就只知道它可以代替".

2021-12-16 06:47:40 544

原创 文件查询时

无限制文件查询的时候,直接使用ls查看当前全部文件就可以进行访问而这里因为查询语句的存在,我们其实是进行的一个多重访问的并发过程,所以我们需要用;或者|或者&这种管道命令分割符进行控制并发处理,字符型注入大可–+’或者#填充当cat被过滤过滤cat127.0.0.1&echo -e “<?php @eval(\$_POST['test']);?>” > 555.php可以绕过要是一个很长的文件名可以试试直接用通配符来把它直接通配,这样就可以了当cat被过滤时,.

2021-11-03 15:49:26 400

原创 绕过函数方法

127.0.0.1 & ls ——ll;查看本地目录当某一些字符被过滤掉,绕过“;”分隔符可以使用%0a代替|,||,&,&&,五个管道符不加通配符的like可以用来当做=号使用空格键;/**/()回车(url编码中的%0a)`(tap键上面的按钮)tap两个空格%0a代替换行,%09代替TAB键(因为flag被过滤了,所以我们通过TAB来补全flag_is_here)%5c代替\(用\来分隔开cat,因为cat也被过滤了qwq)%27是单引号ca

2021-11-03 15:47:52 436

原创 命令执行汇总

命令执行函数eval?@SystemAssert命令执行linux命令分号&&和&,|和||的用法。“;”分号用法方式:command1 ; command2用;号隔开每个命令, 每个命令按照从左到右的顺序,顺序执行, 彼此之间不关心是否失败, 所有命令都会执行。彼此不关联“| ”管道符用法上一条命令的输出,作为下一条命令参数。ctf里面:ping 127.0.0.1 | ls(只执行ls不执行前面的)方式:command1 | commandLin

2021-11-03 15:46:04 3134

原创 宽字节注入简介

字节注入也是在最近的项目中发现的问题,大家都知道%df’ 被PHP转义(开启GPC、用addslashes函数,或者icov等),单引号被加上反斜杠\,变成了 %df\’,其中\的十六进制是 %5C ,那么现在 %df\’ =%df%5c%27,如果程序的默认字符集是GBK等宽字节字符集,则MySQL用GBK的编码时,会认为 %df%5c 是一个宽字符,也就是縗’,也就是说:%df\’ = %df%5c%27=縗’,有了单引号就好注入了就是通过在转义的’之前加上df之后df’变成了%df%5c’,所以就会

2021-11-03 15:44:47 1303 2

原创 逻辑漏洞~~~

1、什么是逻辑漏洞之所以称为逻辑漏洞,是因为代码之后是人的逻辑,人更容易犯错,是编写完程序后随着人的思维逻辑产生的不足。sql注入、xss等漏洞可以通过安全框架等避免,这种攻击流量非法,对原始程序进行了破坏,防火墙可以检测,而逻辑漏洞是通过合法合理的方式达到破坏,比如密码找回由于程序设计不足,会产生很多问题,破坏方式并非向程预防思路————————————————1.cookie中设定多个验证,比如自如APP的cookie中,需要sign和ssid两个参数配对,才能返回数据。2.用户的cookie数

2021-11-03 15:42:55 498

原创 xxe漏洞存在判断

判断网站是否存在XXE漏洞最直接的方法就是用burp抓包,然后,修改HTTP请求方法,查看是否有提交xml文档,然后修改提交的xml文档,或者修改一些Content-Type头部字段等等,查看返回包的响应,看看应用程序是否解析了发送的内容,一旦解析了,那么有可能XXE攻击漏洞。XXE漏洞防御禁用外部实体php中使用libxml_disable_entity_loader(false);//设置为True可禁用外部实体注入过滤和验证用户提交的XML数据不允许XML中含有任何自己声明的DTD有效

2021-11-03 06:57:49 1592

原创 xss无回显

XSS无回显XSS无回显比较特殊,一般XSS漏洞的判断标准为弹框,但是有这样一种情况,在一个表单提交处,内容提交之后只会在页面显示提交成功与否,不会输出提交的内容,那么我们也就无法通过弹框来判断XSS漏洞存在与否。这时候就需要通过XSS盲打来进行攻击。src 属性规定外部脚本文件的 URL。<img src=http://xss.t7y3wc.dnslog.cn>所以我们可以利用dnslog来进行验证,如果他是会解析参数,那么上面传入的参数是我们的地址域名就会在相应的地方留下记录

2021-11-03 06:56:54 1190

原创 xss跨站及httponly绕过

什么是httponly我们在访问一个网页的时候,一般有两种情况的密匙,一种是cookie,一种是session,而其中cookie是保存在我们客户端的,理论上我们是能够看到的,但是如果我们在客户端添加了httponly属性,那么我们就无法通过js来看到这个属性了他不是阻止跨站攻击,他只是阻止cookie被读取httponly(只是限制了cookie被盗取)HttpOnly是包含在http返回头Set-Cookie里面的一个附加的flag,所以它是后端服务器对cookie设置的一个附加的属性,在生成c

2021-11-03 06:50:07 910

原创 XSS跨站订单和shell反杀

Webshell箱子:相信很多人都使用过asp或者php的大马,一般这些大马的代码都是加密过的,这就存在一些猫腻了,因为在这些加密过的代码中有着后门代码,这些后门会将你找到的shell发送到他的服务器,就相当于你给别人打工。废话不多说,实战来演示一下webshell箱子:1、首先我们搭建一下asp服务器来放置webshell箱子(后门)2、然后进入我们的后门网页,默认账号密码都是admin3、随意构造一个一句话木马,然后再一句话木马代码里插入javascript语句来制作后门(调用webshel

2021-11-03 06:41:03 347

原创 XSS攻击初探

1、反射型XSS发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。浏览器——>服务端、服务端——>浏览器所以反射性的XSS是不会被储存的,他就像是应付公事一样,在运行结束之后直接结束之前进行过的操作如果一个的代码就像这样<?phpecho $_GET['x'];?>用这个代码直接测试一波看输入的x有没有经过过滤,要是没有就直接上..

2021-11-02 19:58:51 162

原创 XSS基础

Xss是一个前端漏洞,js情况下通过接受到传输数据进行了js的编码他的危害条件也是和js能执行的权限有关后门1、什么是后门,哪些又是后门攻击者在成功进行非法入侵以后,会留得一个文件便于进行下一次的进攻,这个文件就是后门。后门可能是寄于网站、服务器、文件。控制网站2、后门在安全测试的实际意义1.方便下次进攻 2.提供攻击通道3、关于后门的需要了解哪些(玩法、免杀)玩法(目的更好的隐藏自己、或者直接控制网站)、免杀(检测到后门、防止相关东西检测到后门)。其实就是dom直接就没经过后面,从.

2021-11-02 19:57:58 234

原创 XML知识

xml和html的差异也就是说与html不同的是,xml主要是用来传递数据的xxe是什么即xml外部注入实体注入攻击什么是xml实体注入将你的代码当成XXE代码,然后XXE再交给PHP去执行将1.txt的东西,放入test这个变量实体就是变量&test就是输出这个变量只是一个声明格式,随便写什么,就算写成都可以,只要满足格式就行最主要的是访问的地址,file,http等协议都可以。XXE:XML外部实体注入,原理:有了XML实体,关键字SYSTEM会令XML解析器从URL.

2021-11-02 19:52:44 204

原创 SSH安全

SSH协议的软件在远程登录中,SSH客户端成功连接SSH服务器之后,就可以远程控制SSH服务器了。但SSH只是一个协议,实现该协议的服务端和客户端的软体也有多种。 因为SSH最初在Unix中实现 , 所以大多数Unix/Linux系列的操作系统都自带 SSH的服务端和客户端。Windows 系统在 Windows 10 和Windows Server 2019 版本开始, 在可选功能包含了SSH服务端和客户端,添加一下就可以了, 但是在这之前的版本, 如果需要使用SSH服务,就需要另外安装SSH服务端

2021-11-02 19:33:09 1464

原创 gopher协议

gopher协议?gopher协议:互联网上使用的分布型的文件搜集获取网络协议,是一种分布式文档传递服务。利用该服务,用户可以无缝地浏览、搜索和检索驻留在不同位置的信息使用方法:gopher://ip:port/_payloadGopher是Internet上一个非常有名的信息查找系统,它将Internet上的文件组织成某种索引,很方便地将用户从Internet的一处带到另一处。在WWW出现之前,Gopher是Internet上最主要的信息检索工具,Gopher站点也是最主要的站点,使用tcp70端

2021-11-02 08:08:03 1096

原创 跨域资源共享 CORS 详解

一、简介CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。二、两种请求浏览器将CORS请求分成两类:简单请求(simple reques

2021-11-02 08:05:39 132

原创 定点挖掘sql小知识

定点挖掘关键字可控变量变量接受 get post 接受关键字 $_GET特定函数输出 print数据库操作特定关键字Select insert updata SQL执行语句 ====SQL注入漏洞搜索特定关键字挖掘特定漏洞如:搜索each print尝试挖掘的就是xss漏洞如:搜索−GET,-GET,−GET,-POST挖掘的就是安全漏洞 因为变量是可控的定点挖掘功能点:如:挖掘 文件上传 纯在文件上蹿的操作地址,捉包分析特定文件代码段,进行文件上传分析挖掘拓展:视漏洞而定

2021-11-02 07:57:18 199

原创 sqlmap使用技巧

Sqlmap使用的时候 应该python sqlmap.py 来使用,默认的情况下一般电脑原装2.7他一般支持五种不同的模式sqlmap支持五种不同的注入模式:l 基于布尔的盲注,即可以根据返回页面判断条件真假的注入;l 基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断;l 基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中;l 联合查询注入,可以使用union的情况下的注入;l 堆查询注入

2021-11-02 07:11:56 907 1

原创 CSRF;跨站请求伪造

简介XSS利用站点信任用户,csrf伪装成站点信任用户对目标网站发送请求原理:攻击者利用目标用户的身份,以目标用户的名义发送邮件,消息,盗取目标用户的账号~~~~~~~~~等等,例:转账100如果是http://xxbank.com/pay.php?user=xx&money=100那我们就可以伪造一个攻击链接http://xxbank.com/pay.php?user=hack&money=100来使该用户向hack转账重点;1 目标用户登陆网站后能对网站功能进行执行:2 目

2021-10-25 15:57:39 80

原创 bugku newphp

<?php// php版本:5.4.44header("Content-type: text/html; charset=utf-8");highlight_file(__FILE__);class evil{ public $hint; public function __construct($hint){ $this->hint = $hint; } public function __destruct(){//读取函数...

2021-10-25 15:50:33 386

原创 [NPUCTF2020]ReadlezPHP

<?php#error_reporting(0);class HelloPhp{ public $a; public $b; public function __construct(){ $this->a = "Y-m-d h:i:s"; $this->b = "date"; } public function __destruct(){ $a = $this->a; $b

2021-10-25 15:46:08 132

原创 无参REC

REC我个人理解就是命令执行函数的意思无参rce,其实就是没有函数并且执行函数命令的情况,大多数就是因为上面的这一类的数的出现而直接不能使用参数,所以让我们只能使用a(b());的形式而不能是a(‘5’);,而用什么来传递参数呢?,一般就是get和post是最常见的,其次就是httpheaders,上面图片里面的,就是把参数都匹配成空,所以我们只能使用一些没有参数也能执行的函数来执行命令?exp=highlight_file(next(array_reverse(scandir(current(l

2021-10-25 14:40:49 283

原创 安恒杯【easyweb】

<?phperror_reporting(E_ALL || ~ E_NOTICE);header('content-type:text/html;charset=utf-8');$cmd = $_GET['cmd'];if (!isset($_GET['img']) || !isset($_GET['cmd'])) header('Refresh:0;url=./index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=');$file =

2021-10-25 14:25:22 242

原创 buuflask

#! /usr/bin/env python# #encoding=utf-8 from flask import Flaskfrom flask import requestimport socketimport hashlibimport urllibimport sysimport osimport jsonreload(sys)sys.setdefaultencoding('latin1')app = Flask(__name__)secert_key = o

2021-10-25 14:24:16 85

原创 BUUCTF 2018 Online Tool

//首先看到前两行代码X_FORWARDED_FOR和REMOTE_ADDR这里是让服务器用来获取ip用的这里没什么用```handlebarsif(!isset($_GET['host'])) {//这里传进来了一个参数highlight_file(__FILE__);} else {$host = $_GET['host'];$host = escapeshellarg($host); /*一眼就能看出来这里的$host = escapeshellcmd($host);.

2021-10-25 14:05:52 170

原创 [ZJCTF 2019]NiZhuanSiWei

看这个代码,我们要读取文件text里面的数据,(因为file_get_contents)所以我们不能简单地text=xxxx,而是要用phpinput或者data方法来读取,这样他会先把text包装成一个文件,我们就能用file_get_contents来读取了,下面我们匹配到的file文件不能有flag出现,之后文件会包含file变量包含的类,这里给了一点提示是useless,之后我们会反序列化password让后输出这个参数或是什么,我们思路先通过PHP伪协议读取useless发现所以这里有to.

2021-10-25 14:03:59 108

原创 [MRCTF2020]Ezpop

<?php//flag is in flag.php//WTF IS THIS?//Learn From https://ctf.ieki.xyz/library/php.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E9%AD%94%E6%9C%AF%E6%96%B9%E6%B3%95//And Crack It!class Modifier { protected $var='php://filter/read=convert.base64

2021-10-25 14:01:23 205

原创 [GYCTF2020]Blacklist

Select直接执行看见了过滤语句,真的是,愿我此生不碰sql先进行字符型注入哦,好吧,单引号能闭合应该,那就直接后面加上#给略过去进行,先看表瞅见一个flag的看列(记得列的名字要反单引号闭合,)最后因为HANDLER … OPEN语句打开一个表,使其可以使用后续HANDLER … READ语句访问,该表对象未被其他会话共享,并且在会话调用HANDLER … CLOSE或会话终止之前不会关闭...

2021-10-25 13:59:26 94

原创 [GXYCTF2019]禁止套娃

首先,进去确实找不到什么地方有函数,想了想,只能是Git源代码泄露找到了PHP代码,if这句话没别的东西,就是说把exp传进去的参数给进行正则匹配,而匹配的结果就是把a-z都给匹配成空,检查了我们通过GET方式传入的exp参数的值,如果传进去的值是传进去的值是一个字符串接一个(),那么这个字符串就会被替换为空。如果替换后的字符串只剩下 ; ,那么我们传进去的 exp 就会被 eval 执行。比如我们传入一个 phpinfo();,那么就会执行phpinfo()因为代码中的正则表达式是循环执行的,所

2021-10-24 20:25:29 147 1

原创 [De1CTF 2019]SSRF Me

几个页面,和他们能接收的参数值,这里主要药理用的是第二个的页面,第一个参数不够多两个if,最后能把param的传入参数当成文件读取,所以我们读取这里是flag.php这个要满足条件Action上面也看见了,action里面是要求scan和read都存在的,所以我们就要构造action=readscan或者scanread,前面的param=flag.txt,还要加上_key,我们去getsign页面看了一下看见了——key,之后把这个组合MD5之后传参上去...

2021-10-24 20:23:32 77

原创 BJDCTF2020]EasySearch

这里直接就是打开了哪里的代码进行审计,就不做什么别的解释了,有很多是没有用的但是确实是我一点点审计过去的<?php ob_start(); function get_hash(){ $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-'; //下面随机生成字符串从上面那里面挑 $random = $chars[mt_rand(0,73)].$char

2021-10-24 20:21:38 1762

原创 [网鼎杯 2020 青龙组]AreUSerialz

这里直接就是打开了哪里的代码进行审计,就不做什么别的解释了,有很多是没有用的但是确实是我一点点审计过去的<?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { protected $op; //序列化后protected类型的属性存在不可打印字符,所以我们一般会直接转换成public来,这样就不会有不可打印的字符了 protected $filename; protected $con

2021-10-24 20:15:59 2058

原创 2021-10-17[网鼎杯 2020 朱雀组]phpweb

在我们页面其实并没有看见什么有用的信息,我只能通过大佬wp来看见,原来我们捉包后的func参数和p参数是能传递执行函数的,首先我们所以我们会想能不能执行file_get_contents函数来查看参数,查看index.php看到了参数function gettime($func, $p) { $result = call_user_func($func, $p); $a= gettype($result); if ($a == "string") { return

2021-10-17 19:00:51 236

原创 pwn概述1

Pwn的话一般就是找函数漏洞,然后寻找利用点,自己去构造,而且很多题解法都不唯一,有些题会有cat flag这个函数,你溢出到那个位置就能直接回显flag,这个也挺常见的,或者拿shell,一般flag都在根目录下,偶尔会碰到放在/home/ctf下的,概述,利用成功(程序的二进制漏洞)攻破(设备,服务器)、控制(设备,服务器)一次简单的hackC语言编译生成汇编代码,再汇编生成机器码——》将多个机器码的目标连接成一个可执行文件。-------------CPU可以读取并编译执行的可执行文件

2021-09-03 08:46:45 1073

原创 SQL注入基础

SQL注入记录、基本查看思路;注入模式猜解1;整数注入2;字符注入3;报错注入4;布尔盲注5;异或注入获取过程注入方式——》字段数——》注入点——》数据库名称——》表名称——》字段名称——》字段数据最基础的演示;1or 1=1;之类判断注入方式order by n(1,2之类的字段数);判断字段数union select 1,database();这里的database原本是字段2的位置,这里我们直接在这里注入,得到了库的名称union select 1,group_concat(

2021-06-27 20:21:48 486 1

原创 报错注入小结

script是一个插入脚本,网页的那些动态啥的还有别的啥的一般都这个来

2021-06-27 20:07:22 679

空空如也

空空如也

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

TA关注的人

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