自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 ssti模板注入jinja2 之[CSCCTF 2019 Qual]FlaskLight

其中第一条payload中的[id]可以替换成命令,如ls,cat等,第二条payload的[filename]也可替换成文件名称.返回7777777是一般是jinja2。关于绕过,如果禁用了_globlas_

2022-08-30 23:14:47 293 1

原创 JWT解密和python反序列化之[CISCN2019 华北赛区 Day1 Web2]ikun

解密,可以得到结果,但是想要伪造其他的用户的话需要密钥,密钥使用c-jwt-cracker 中的 ./jwtcrack 进行破解;Pickle是Python内的一个标准模块,实现了基本的数据序列化和反序列化。破解得到密钥之后在网址中填入得到伪造的jwt;burp更改就可以了;和cookie一个类型,用于认证身份,将jwt值放在。pickle.laods 反序列化。pickle.dumps 序列化。...

2022-08-30 22:55:32 478

原创 basename函数漏洞之[Zer0pts2020]Can you guess it?

这里正则的绕过,不能让config.php结尾,在它后面加点东西就可以了,比如/a 等等,但是为了使后面的basename得到的结果为config.php,这后面加的东西不能乱加,那么就加非ASCII码的字符就行啦,给个脚本吧。basename 函数,获取路径中的文件名;比如:test/inde.php/s 就会返回index,php。但是漏洞就是,它会去掉文件名开头的或者结尾的非ASCII值!...

2022-08-26 23:34:31 374

原创 正则匹配绕过总计之[极客大挑战 2019]RCE ME

脚本:(如果ban了数字和字母就可以用这个脚本生成,但是长度会很长,对长度没有要求就可以用这个)有参数时,可以直接url编码取反 system。有参数(只禁用某些函数例如system)分为无参数(把字母和数字都禁了)...

2022-08-23 00:14:49 1569

原创 ssti python 沙箱jinja2利用,PIN获取之[GYCTF2020]FlaskApp

对于非docker机每一个机器都会有自已唯一的id,linux的id一般存放在/etc/machine-id或/proc/sys/kernel/random/boot_i,有的系统没有这两个文件。对于docker机则读取/proc/self/cgroup,其中第一行的/docker/字符串后面的内容作为机器的id,首先判断是什么类型的ssti,再利用,这里通过报错抛出debug信息的内容判断:爆出的报错部分的代码里面的特殊函数;得到的Mac地址:print(int('去掉“:”后的地址',16))

2022-08-20 00:20:35 406

原创 SSI漏洞之[BJDCTF2020]EasySearch1

知识点:,在SHTML文件中使用SSI指令引用其他的html文件(#include),此时服务器会将SHTML中包含的SSI指令解释,再传送给客户端,此时的HTML中就不再有SSI指令了。

2022-08-17 23:24:33 186

原创 idna解码nginx重要文件的位置之[SUCTF 2019]Pythonginx

这种不是代表英文字母的,如果通过.encode('idna').decode('utf-8') 之后,就有可能会变成对应的实际的字符;对于suctf.cc的绕过,只需要将其中的一个使用非预期字符就可以了;在Nginx里面:重要的文件位置是。ascii码里面的某些字符比如。要访问到网站的目录的话,需要加。...

2022-08-17 19:50:08 299

原创 盲注脚本爆数据库之[极客大挑战 2019]FinalSQL

当过滤的东西很多很多的时候,可以考虑盲注,用 ^ 来判断是否可以进行脚本注入;使用二分法查找数据库的每一个字母;到时候只需要改回显的关键字和url就行。

2022-08-11 21:49:46 446

原创 assert()执行phpinfo()之[NPUCTF2020]ReadlezPHP1

避免由程序运行引起更大的错误)如果assert里面的值成立,那么就执行,否则中断程序;就可以使用assert(phpinfo());

2022-08-11 19:27:12 296

原创 sql注入information_schema代替,无列名注入之[SWPU2019]Web11

的时候,有时候information_schema这个库可能会因为过滤而无法调用,这时我们就不能通过这个库来查出表名和列名。但是上述两种方法都只能查出表名,无法查到列名,这时我们就要用到无列名注入了。无列名注入,顾名思义,就是不需要列名就能注出数据的注入。但是mysql.innodb_table_stats只查到表名,所以不知道列名;information_schema可以查到所有的数据库和表名和列名;当or 被过滤时不能使用information_schema;这道题过滤了空格,用/**/绕过;...

2022-08-10 22:14:10 899

原创 php魔术方法利用构造pop链之[MRCTF2020]Ezpop

3.那么现在就要想办法触发get方法,这也是一个魔术方法,根据它的自动触发条件,就可以看到利用str->source ,本来str 和source是一个级别的属性,但是这里把source给了str,那么将str定为test类的一个对象,而test类里面没有source属性,所以就会自动触发get;当将对象调用为函数使用时就会自动触发,看到代码里面的test类的get方法将属性返回为函数,//那么就可以将 p设置为一个对象;→触发对象当作字符串用→触发。→触发对象当作函数使用→触发。当一个对象创建时被调用,.

2022-08-10 20:46:10 395

原创 nmap -oG -iL 写入文件和读取文件之[网鼎杯 2020 朱雀组]Nmap

文件格式就可以使用phtml。

2022-08-09 23:39:22 1037

原创 SSTI 模板注入url_for和get_flashed_messages之[WesternCTF2018]shrine

我们在访问一个网址的时候在调用flask项目的时候需要调用的是一段具体的代码,也就是一个python类或者python函数,在这里这个python类我们称之为视图类,python函数我们称之为视图函数。

2022-08-09 21:50:00 610

原创 逻辑越权和水平垂直越权支付篡改,验证码绕过,接口

参考:内容来源00实验室笔记;越权漏洞分为水平和垂直越权;比如说,同一个级别的用户,用户A的权限可以去有用户B的权限;不同级别用户的权限获取;前端安全导致;界面判断用户等级后,显示的内容进行筛选,(比如,管理员用户比普通用户多一些操作界面,普通用户就没有,不是说这个功能没有只是被隐藏了。)如果数据包中出现用户的编号,用户组编号或者类型编号,就可以尝试修改看看是否有漏洞水平越权pikachu靶场中逻辑水平越权登录kobe相关信息,登录,查看个人信息时对其进行抓包,......

2022-08-08 19:27:14 1676

原创 PHP自增构造_GET

然后要触发eval() 构造rce 就可以通过PHP自增来实现;只有 1 6 7 8 9;A [ ] _ { } 可以用了;这就是自增,那么这道题就可以通过A 的自增来得到我们想要的函数。,就可以得到A-Z和a-z的所有字母组合。比如 ‘a’++ =b;和system相同的还有passthru。和数组连接在一起时,最终返回的值是。那么只要取Array中的第一个字母。这里我们采用A来构造_GET。但是要经过URL编码传参;另外,在php中,当把。...

2022-08-07 19:44:30 815

原创 进制转换数学函数与PHP异或构造_GET之[CISCN 2019 初赛]Love Math1 2

比如可以将10进制转化为36进制;这里可以利用它来转化得到其他数字或者小写字组成的函数比如hex2bin();但是这里有一个问题,有函数过滤掉16进制;那么就用dechex将10进制转化为16进制,5f474554的10进制是1598506324。所以我们采用base_convert() 10进制转化为36进制构造hex2bin。所以现在就有hex2bin(dechex(1598506324))=_GET。dechex()将10进制转化为16进制;那么就可以使用动态函数来链接它;16进制转化为字符串;...

2022-08-06 20:28:32 221

原创 反序列化字符逃逸漏洞之

那么如果当序列化后的字符串经过一些函数过滤掉一些字符会发生什么呢;因为序列化后的字符是按照要求严格执行的,什么意思,就是s:1:"a";再经过反序列化之后最后的";s:3:"img";什么意思呢,就是说当进行反序列化数组的时候,只认前面一个括号里面的内容;变量覆盖是直接将之前的值取代,这里就可以作为 键逃逸;没有变量覆盖就值逃逸;所以通过这两个规则利用起来就可以构造我们想要的东西;这里构造出来的session字典值就只有一个,就是。直接改变img不就可以了嘛!这就是反序列化字符逃逸;...

2022-08-03 23:20:13 84

原创 CSRF和SSRF漏洞

当用户访问含有恶意代码的网页时,会向指定正常网站发送非本人意愿的数据请求包(如转账给hack,向hack发送API等)如果此时用户恰好登录了该正常网站(也就是身份验证是正常的)就会执行该恶意代码的请求,从而造成CSRF。与在XSS章节中提到的在博客里写入获取cookie的代码,在管理员登录后台查看时就会窃取其cookie有异曲同工之妙跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。这个数据包是用户访问的网站b的数据包;...

2022-08-03 19:00:00 233

原创 mysql 注入

同一个服务器下的不同网站之间的数据库用户有可能是不同的,如果a网站可以有SQL注入,他的用户是root的话就可以实现跨站数据库入侵,去查看网站b下面的数据库;unionselect1,'x',3intooutfile'D\\x.php'--+写入文件‘x’到x.php中;当magic_quotes_gpc=On时,输入数据中含单引号(’)、双引号(”)、反斜线(\)与NULL(NULL字符)等字符,都会被加上反斜线;用来读取数据库下的文件;...

2022-07-31 17:15:58 1943

原创 intval md5绕过之[WUSTCTF2020]朴实无华

intval函数还可以用于判断回文串,因为intval函数的最大值取决于操作系统,如果字符串的回文超过了最大的范围值,那么返回的值就也是原来的字符串,就会变成回文串,实现了绕过。函数的使用方法,当函数中用字符串方式表示科学计数法时,函数的返回值是科学计数法前面的一个数,而对于科学计数法加数字则会返回科学计数法的数值。$a==md5($a)时使用科学计数0e215962017。可以使用0e开头的科学计数来绕过,使用。扫描文件发现robots.txt;==bmd值要相等;使用工具,或者数组;...

2022-07-24 21:57:55 1109

原创 SSTI 模板注入漏洞总结之[BJDCTF2020]Cookie is so stable

config是Flask模版中的一个全局对象,它代表“当前配置对象(flask.config)”,它是一个类字典的对象,它包含了所有应用程序的配置值。当在服务端接收了用户的恶意输入以后,未经任何处理就将其作为Web应用模板内容的一部分,模板引擎在进行目标编译渲染的过程中,执行了用户插入的可以破坏模板的语句,因而可能导致了敏感信息泄露、代码执行、GetShell等问题.使用{{7*'7'}}还是回显49,看来是Twig;在flag界面输入{{7*7}}{{7*‘7’}}输出49。...

2022-07-23 22:04:54 1282

原创 md5强碰撞,二次解码,

绕过cat反向tac绕过,c/at绕过;cmd命令目录查看除了ls,还有dir;二次解码,使用网站CyberChe。使用魔法棒就可以直接识别出结果;绕过空格xA0使用%20。使用fastcoll。

2022-07-22 22:31:45 364

原创 xml-xxe漏洞之Fake XML cookbook

有的小伙伴可能已经发现了,例1中实体名前面并没有%,而例2中实体名前是有%的,这里的区别在于,例1中定义的实体是通用实体,而例2中定义的是参数实体,并且参数实体只能在dtd中使用,即例2代码中的第三行%d;,这里就像在外面引用统用实体一样,这里的%d;就引用了http//xxx.com/xxe.dtd这个文件到dtd中。当应用是通过用户上传的XML文件或POST请求进行数据的传输,并且应用没有禁止XML引用外部实体,也没有过滤用户提交的XML数据,那么就会产生XML外部实体注入漏洞,即XXE漏洞。...

2022-07-21 21:37:34 266

原创 变量覆盖漏洞

知识点$$变量覆盖漏洞参考,意思就是说,存在一些函数比如exit()extract()函数使用不当,函数使用不当,使用不当,包含了变量,如果get传参等方式就会覆盖之前的变量,达到控制变量而读取flag;诸如出现echoxxx.$flag。......

2022-07-21 20:09:59 204

原创 php:filter伪协议之[BSidesCF 2020]Had a bad day

但是只要是含有woofers的字符串就会是另外的语法错误,猜测后面试有一个字符串匹配函数;phpfilter//read=convert.base64-encode/resource=文件名;他已经把.php后缀加上了,意思是执行的是参数的PHP文件,那么就很可能是flag;也可以index得到源码;...

2022-07-21 12:32:19 174

原创 phpmyadmin 4.8.1远程文件包含漏洞之[GWCTF 2019]我有一个数据库

target=db_datadict.php%253f/../../../../../../../../../flag就打开flag啦;直接就是index.php?target=db_datadict.php%253f/../../../../../../../../../phpmyadmin4.8.1远程文件包含漏洞(CVE-2018-12613)该漏洞是在PHPmyadmin的index.php下产生的;发现phpmyadmin,查看到版本,找对应漏洞;可以打开文件,也可以写入命令;...

2022-07-16 00:08:52 795

原创 preg_replace 代码执行漏洞之[BJDCTF2020]ZJCTF,不过如此

file使用filephp//filter/read=convert.base64-encode/resource=文件名来构造;text使用data//text/plain,可以利用这个漏洞构造出命令执行漏洞;preg_replace/e模式下的。构造在next.php后。看到有flag列表,再打开;

2022-07-14 22:56:30 272

原创 反序列化利用之[网鼎杯 2020 朱雀组]phpweb

知识点:1.通过反序列化来实现绕过;2,php转义字符绕过黑名单;打开题目burp抓包发现有传参,使用readfile 打开index.php。发现源代码; 分析:有黑名单匹配,使用反序列化绕过:反序列化构造很简单;不多说:O:4:"Test":2:{s:1:"p";s:18:"find / -name flag*";s:4:"func";s:6:"system";}找一下flag的目录;在最后;直接cat 打开就可以;也可以readfile;其次;转义符 \在func=\system这是可以实现的。

2022-07-12 15:44:07 95

原创 web源码获取

一、知识点: ●关于WEB源码目录结构●关于WEB源码脚本类型●关于WEB源码应用分类●关于WEB源码其他说明1.数据库配置文件,后台目录,模版目录,数据库目录等2.ASP,PHP,ASPX,JSP,JAVAWEB等脚本类型源码安全问题语言与框架(还包含内网渗透等web安全知识):5. 语言与框架 — Web安全学习笔记 1.0 文档(如果能得到源码,可以查看config.php,一般这个文件会有用户名和密码,找到后台管理登录界面后。。。。你懂得)3.社交,论坛,门户,第三方,博客等不同

2022-07-10 22:12:21 1816

原创 无参数RCE绕过之禁止套娃

知识点:无参数REC 一般有三种绕过姿势:参考文章:无参数RCE总结_L1am0ur的博客-CSDN博客_无参数rce 1.概念:无参数RCE,其实就是通过没有参数的函数达到命令执行的目的。没有参数的函数什么意思?一般该类题目代码如下(或类似):有三种绕过:这里主要讲session_id(),具体其他方法参考原文章;参考文章绝优秀,思路清晰,知识全面;session_id必须要开启session才可以使用,所以我们要先使用session_start所以组合起来就是:session_id(sessi

2022-07-10 15:30:43 470

原创 ip XFF 模板注入之[BJDCTF2020]The mystery of ip

知识点:看到ip一般先想到XFF(X-Forwarded-For)X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。说白了就是检测外来接入的IP地址的东西.抓包,添加X-Forwarded-For: 1看到的确改变了ip;尝试模板注入:这里的模板注入没有绕过;直接尝试{{9*9}} 回显有81则说明有模板注入;然后直接{{system(ls)}}最后打开{{system('cat /flag')}}...

2022-07-09 14:38:55 162

原创 escapeshellarg 和 escapeshellcmd 绕过之[BUUCTF 2018]Online Tool

知识点:escapeshellarg 和 escapeshellcmd 绕过nmap -oG 参数,将结果和命令写入到文件详细:参考谈谈escapeshellarg参数绕过和注入的问题escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数功能 :escapeshellarg() 将给字符串增加一个单引号并且能引用或者转码任何已经存在的单引号,这样以确保能够直接将一个字符串传入 shell 函数,shell 函数包含 exec(), system() 执行运算符(反引号)我的理解

2022-07-09 13:36:00 1312

原创 java WEB-INF/web.xml泄露之[RoarCTF 2019]Easy Java1

知识点:WEB-INF/web.xml泄露参考:RoarCTF2019 easy Java_zydbk123456的博客-CSDN博客 WEB-INF是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。WEB-INF主要包含一下文件或目录::Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能

2022-07-06 20:10:46 439

原创 SSRF漏洞file伪协议之[网鼎杯 2018]Fakebook1

关于SSRF漏洞(服务器端伪造)参考SSRF漏洞原理攻击与防御(超详细总结)_零点敲代码的博客-CSDN博客_ssrf漏洞防御SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)SSRF攻击可能存在任何语言编写的应用,接下来将举例php中可能存在SSRF漏洞的函数。1、file_get_

2022-07-06 17:35:17 1480

原创 flask session伪造之hctf admin

知识点:flask的session是存储在客户端cookie中的,而且flask仅仅对数据进行了签名。众所周知的是,签名的作用是防篡改,而无法防止被读取。而flask并没有提供加密操作,所以其session的全部内容都是可以在客户端读取的。还有些session是存储在数据库中或者服务器的文件里。关于只有admin才能读取flag 的题目,我们可以通过伪造session来达到身份伪造;步骤如下:得有伪造代码:下载地址:https://github.com/noraj/flask-session-cookie-

2022-07-04 21:58:32 522

原创 [网鼎杯 2018]Fakebook1 参考

博主:[网鼎杯 2018]Fakebook 1_bazzza的博客-CSDN博客进入靶场,是一个登录界面,先注册一个账号看看,注册的时候,发现对blog有过滤,注册完登录进去发现界面是这样的,可以看到页面下方访问了我们注册的blog,内联表单的值是用(data:text/html;base64,)将数据直接嵌入到页面中的,可以大胆的推测他可以进行ssrf,但是blog在注册时是经过过滤的,只能是固定的格式,看起来是难以利用的。寻找其它突破点,我尝试修改url中的no值,发现可以注入,而且是最基本的注入

2022-06-19 14:59:18 910

原创 逆向crackme之ESp定律脱壳

1 前言此题来自攻防世界高手进阶区的一道逆向题目 crackme,通过对可执行程序进行脱壳,该壳为北斗的壳,涉及到ESP定律,大体流程是找到call处的ESp,在数据窗口中跟随,下个硬件访问断点,就到了OEP处,用ODdump脱壳就行了。脱壳完成之后使用IDA打开查看main函数里面的伪代码写脚本,最后得到flag,这里面涉及到三个常用逆向工具的使用,exeinfope,onllydbg ida;2 工具介绍OllyDugOLLYDBG是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring

2022-06-19 14:55:04 773

原创 [CISCN2019 华北赛区 Day2 Web1]Hack World1之脚本跑flag

这道题,首先是各种fuzz,测试出一些过滤字符,然后主要讲讲脚本的知识,以及为什么脚本这样写:首先,输入1,是hello,0是error根据这个写脚本;首先有一个小知识:MySQL中的if语句:IF表达式IF(expr1,expr2,expr3)如果 expr1 是TRUE (或者expr1 <> 0 且 expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值;我们就可

2022-05-19 01:00:36 401

原创 php反序列值原生类的利用

源代码:<?phphighlight_file(__FILE__);class a{ public $un0; public $un1; public $un2; public $un3; public $un4; public function __destruct(){ if(!empty($this->un0) && empty($this->un2)){ .

2022-05-15 17:39:06 209

原创 2022DASCTF Apr X FATE 防疫挑战赛web复现

打开可看到是代码审计,现在的我的水平显然不会做:所以参考了其他师父的wp;勉勉强强知道点流程,大概就是不断调用各种类中的方法;首先拿到四个代码,如下:Base.php <?php class Base{ public function __get($name) { $getter = 'get' . $name; if (method_exists($this, $getter)) { return $t

2022-05-05 18:44:56 251

http协议题后知识点总结.docx

简单的web题后的感悟及总结

2021-10-18

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

TA关注的人

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