- 博客(106)
- 收藏
- 关注
原创 PHP代码审计三(登录身份认证)
文章目录登录认证功能用户认证审计函数或文件的未认证调用密码问题身份认证漏洞cookie身份认证漏洞seesionid 固定漏洞漏洞防范cookie身份认证漏洞防范session固定漏洞防御登录认证功能登录认证功能不是指一个简单的登录过程,而是整个操作过程中的认证,目前的认证方式大多是基于Cookie和Session,不少程序会把当前登录的用户账号等认证信息放到Cookie中,或许是加密方式,是为了保持用户可以长时间登录,不会因为一退出浏览器或者Session超时就退出账户,进行操作的时候直接从Cooki
2020-05-16 00:43:40
462
原创 PHP代码审计二(通用代码审计思路)
总结一下在PHP代码审计中常用到的代码审计思路文章目录敏感函数回溯参数过程通读全文代码方法:根据功能点定向审计敏感函数回溯参数过程根据敏感函数来逆向追踪参数的传递过程,是目前使用的最多的一种方式,因为大多数漏洞是由于函数的使用不当造成的。 另外非函数使用不当的漏洞,如sql注入,也有一些特征,比如select、insert等,再结合from和where等关键字,我们就可以判读是否是一条SQL语句,通过对字符串的识别分析,就能判读这个sql语句里面的参数有没有使用单引号过滤,或者根据我们的经验来判断。就
2020-05-15 22:02:06
1352
原创 PHP代码审计一(PHP核心配置详解)
前言代码在不同环境下执行的结果也会大有不同,可能就是因为一个简简单单的配置问题,导致一个非常高危的漏洞能够利用;也可能你已经找到一个漏洞就因为你的配置问题,导致你弄了好久都无法构造成功的漏洞利用代码。然而,在不同的PHP版本中配置指令也会有不一样的地方,新的版本可能会增加或者删除部分指令,改变指令默认设置或者固定设置命令,因此,我们在代码审计之前需要非常熟悉PHP各个版本中配置文件的核心指令,才可以高效的挖掘到高质量的漏洞。PHP常见的基本设置(1)open_basedir设置open_based
2020-05-15 20:46:02
432
原创 SQL正则盲注
题目链接: 地址随便输入用户名和密码后登录,跳到check.php页面下面是题目源码<?php include "config.php";error_reporting(0);highlight_file(__FILE__); $check_list = "/into|load_file|0x|outfile|by|substr|base|echo|hex|mid|like|or|char|union|or|select|greatest|%00|_|\'|admin|limit|
2020-05-15 16:40:47
840
原创 Upload-labs通关总结
通过这个靶场再练习一下文件上传漏洞。文章目录Pass-01(js前端验证)Pass-02(Content-Type头检测文件类型绕过)Pass-03(文件后缀的判断(黑名单绕过))Pass-04(重写解析规则—绕过)这里简单的讲一下move_uploaded_file()这个函数Pass—05(大小写绕过)Pass—06(后缀名后面加空格来绕过)Pass—07(后缀名加点绕过)Pass—08(后...
2020-05-14 15:44:21
1693
原创 XXE漏洞攻击——几道CTF题
文章目录Fake XML CookbookTrue XML Cookbook(XXE+ssrf)ISCC 未知的风险-1Fake XML Cookbooksql注入不行,F12 查看源码:function doLogin(){ var username = $("#username").val(); // val() 方法返回或设置被选元素的值 var password = $("#password").val(); // $() 相当于 document.getElementById(
2020-05-14 13:41:33
8561
原创 JWT及JWT伪造
文章目录JWT简介传统的Session认证基于token的鉴权机制JWT的构成头部(header)载荷(payload)签证(signature)通过JWT 进行认证JWT token破解绕过JWT伪造Bukgu jwt——JWT伪造JWT简介Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519)。该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被
2020-05-12 15:04:58
13859
4
原创 XXE与XXE漏洞学习
文章目录XML介绍定义文档结构DTD文档类型定义实体类别介绍DTD 实体声明XML外部实体攻击怎么甄别一个XML实体攻击漏洞?xxe漏洞检测思路从PHP代码层面上xxe漏洞的危害危害1:读取任意文件有回显的情况无回显的情况危害2:命令执行(装有expect扩展)危害3:内网探测/SSRF危害4:拒绝服务攻击XXE漏洞修复与防御一道CTF题目案例分析XML介绍定义XML是用于 标记电子文件 使其具有 结构性 的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XM
2020-05-12 12:21:53
2115
1
转载 内网渗透之AccessToken窃取与利用
文章目录令牌(Token)AccessToken的窃取与利用1:程序 incognito.exe2:MSF下的incognito模块3:Invoke-TokenManipulation.ps1脚本MSF实战假冒令牌提权令牌(Token)令牌(token)是系统的临时秘钥,相当于账号和密码,用来决定是否允许这次请求和判断这次请求是属于哪一个用户的。它允许你在不提供密码或其他凭证的前提下,访问网络...
2020-05-05 23:03:43
3923
1
原创 PhpStudy BackDoor 2019漏洞
声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!基础介绍事件背景 北京时间9月20日,杭州公安发布《杭州警方通报打击涉网违法犯罪暨‘净网2019’专项行动战果》一文,文章曝光了国内知名PHP调试环境程序集成包“PhpStudy软件”遭到黑客篡改并植入“后门”。截至案发,近百万PHP用户中超过67万用户已被黑客控...
2020-05-05 11:56:56
4389
原创 CTF——Thinkphp5远程命令执行漏洞利用
[BJDCTF 2nd]old-hack(5.0.23)进入之后:打开页面,页面提示powered by Thinkphp。说明可能和thinkphp框架有关。也确实如此,这里用到了thinkphp5的远程命令执行漏洞。Thinkphp5远程命令执行漏洞漏洞描述:由于thinkphp对框架中的核心Requests类的method方法提供了表单请求伪造,该功能利用 $_POST['_meth...
2020-05-03 20:09:27
7674
2
原创 5位可控字符下的命令执行
遇到了这样一个题,这题是一个特别的命令执行题, 首先进去首页之后发现以下源码:<?php $sandbox = '/www/sandbox/' . md5("orange" . $_SERVER['REMOTE_ADDR']); @mkdir($sandbox); @chdir($sandbox); if (isset($_GET['cmd']) &...
2020-05-03 15:03:54
1752
原创 PHP序列化反序列化漏洞总结(一篇懂)
文章目录序列化和反序列化的概念与基础知识PHP的序列化访问控制修饰符PHP的反序列化PHP反序列化漏洞(常规)__wakeup()__destruct()示例一:示例二(连菜刀、反序列化免杀后门):__toString()Error类ExceptionPHP中Session反序列化(重点)简介与基础知识Session序列化漏洞利用PHP Session中的序列化危害实际利用CTF例题序列化和反...
2020-05-03 10:29:54
8387
5
原创 Session序列化选择器漏洞(ini_set('session.serialize_handler', 'php');)
首先打开题目页面直接获得源码:<?php//A webshell is wait for youini_set('session.serialize_handler', 'php');#ini_set设置指定配置选项的值。这个选项会在脚本运行时保持新的值,并在脚本结束时恢复。 设置选择session序列化选择器session_start();class OowoO{ p...
2020-05-02 15:18:20
2701
原创 RSA算法原理及Rsa-Tools
The RSA encryption algorithm is an asymmetric encryption algorithm. RSA is widely used in public key cryptography and electronic commerce. RSA was proposed in 1977 by Ron Rivest, Adi Shamir, and Leon...
2020-05-01 15:22:51
2049
原创 Sqlmap入侵日志审计
例题1.——bugku日志审计本题要点:sql盲注、python脚本编写、python正则表达式先下载压缩包,解压发现里面是一个 access.log 日志文件。全选后在网上URL解码:复制回notepad++中这样看起来就方便多了。(或者全选,插件—>MIME Tools—>URL Decode)接下来开始分析。1.测试有没有注入漏洞这理就是开始测试有没有sq...
2020-05-01 14:32:26
2191
原创 利用PHP的字符串解析特性绕过Waf
PHP的字符串解析特性我们知道PHP将查询字符串(在URL或正文中)转换为内部关联数组$_GET或关联数组$_POST。例如:/?foo=bar变成Array([foo] => “bar”)。值得注意的是,查询字符串在解析的过程中会将某些字符删除或用下划线代替。例如,/?%20news[id%00=42会转换为Array([news_id] => 42)。如果一个IDS/IPS或WA...
2020-05-01 12:07:09
4277
原创 perl脚本中GET命令执行漏洞([HITCON 2017]SSRFme)
GET命令执行漏洞思路来自于HITCON2017中的ssrfme,考点是GET的任意命令执行。代码很简单,调用命令GET来执行从url获取的参数, 然后按照filename新建文件,写入GET的结果。我不知道关于这个问题最早是什么时候爆出的了,但确实已经很多年了。root@iZ285ei82c1Z:~/test# cat a.pl open(FD, "|id");print <FD...
2020-04-30 22:20:37
3035
原创 变量覆盖漏洞总结
什么是变量覆盖漏洞自定义的参数值替换原有变量值的情况称为变量覆盖漏洞经常导致变量覆盖漏洞场景有:**$$**使用不当,**extract()**函数使用不当,**parse_str()**函数使用不当,**import_request_variables()**使用不当,开启了全局变量注册等。几种变量覆盖漏洞全局变量覆盖register_globals的意思就是注册为全局变量,所以当为O...
2020-04-30 00:59:00
3319
原创 [BJDCTF2020]Easy MD5——Login--password='".md5($pass,true)."'绕过md5进行注入
Login–password=’".md5($pass,true)."’进入题目,有一个输入框,让你输入密码,发现输入啥都没变化:源码中一点线索也没有。我们随便输入并抓个包看看又什么秘密:发现提示hint:select * from 'admin' where password=md5($pass,true),或者在开发这里面:看到响应头有提示:现在就可以确定是个sql注入了...
2020-04-29 21:29:28
1543
原创 Stacked Queries堆叠注入(强网杯2019随便注---堆叠、修改表名和字段名、HANDLER ... READ)
Stacked injection 汉语翻译过来后,国内有的称为堆查询注入,也有称之为堆叠注入。个人认为称之为堆叠注入更为准确。堆叠注入为攻击者提供了很多的攻击手段,通过添加一个新的查询或者终止查询( ; ),可以达到 修改数据 和 调用存储过程 的目的。这种技术在SQL注入中还是比较频繁的。基本知识原理介绍:**在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下,我们在结束一...
2020-04-28 23:01:56
1596
原创 [HCTF 2018]WarmUp(改编自phpMyAdmin 4.8.1后台文件包含漏洞---CVE-2018-12613)
进入题目,一脸淫笑查看源码,发现source.php:访问source.php,出现php代码<?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["...
2020-04-28 19:57:44
474
原创 IPC $(空连接)及其造成的危险
文章目录基本简介功能其他空会话建立应用关于操作所用端口复制文件命令限制共享完成命令附录命名管道默认共享使用命令 net use url=file://\\IP\ipc$\\IP\ipc$ "" /user:"" 就可以简单地和目标建立一个空连接(需要目标开放ipc$)。功 能:共享 “命名管道” 的资源要 求:需要目标开放ipc$应 用:查看远程主机的共享资源基本简...
2020-04-28 18:30:38
3667
1
原创 利用php的原生类进行XSS([BJDCTF 2nd]xss之光)
文章目录基础知识__toString文章围绕着一个问题,如果在代码审计中有反序列化点,但是在原本的代码中找不到pop链该如何?N1CTF有一个无pop链的反序列化的题目,其中就是找到php内置类来进行反序列化。基础知识首先还是来回顾一下序列化中的魔术方法,下面也将以此进行研究。当对象被创建的时候调用:__construct当对象被销毁的时候调用:__destruct当对象被当作一个字符...
2020-04-28 15:41:17
1667
原创 [BJDCTF 2nd]简单注入(过滤了引号,利用\逃逸sql语句第二字段)
进入后页面:看看后台用什么闭合的,测试单引号:发现直接就给你过滤了。试试还过滤了什么,发现过滤了以下指令:(这个方法挺巧的)union , select , = , ' , & , && , - , " , and 连引号都过滤了,这可怎么做啊。看看又什么提示,源码里面啥也没有,扫描一下发现robots.txt:发现了hint.txt提示,访问看看:...
2020-04-28 12:54:55
1426
原创 phpMyAdmin 4.8.1后台文件包含漏洞Getshell的几种姿势
phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞。受影响版本:phpMyAdmin 4.8.0和4.8.1受到影响。登陆phpmyadmin后台:访问 http://192.168.0.13...
2020-04-27 15:59:11
2477
原创 phpMyAdmin 4.8.1后台文件包含漏洞(CVE-2018-12613)
这篇文章将分享一个phpMyAdmin 4.8.1版本的文件包含漏洞,从配置到原理,再到漏洞复现进行讲解,更重要的是让大家了解这些真实漏洞背后的知识。文章目录一.phpMyAdmin二.phpMyAdmin基础用法三.漏洞原理四.phpMyAdmin漏洞复现一.phpMyAdminphpMyAdmin是一种MySQL数据库的管理工具,安装该工具后,即可通过Web形式直接管理MySQL数据,而...
2020-04-27 11:19:45
3998
原创 CTF-WEB——HTTP Headers类型
基本套路此类题型就是套路:burpsuite抓包,重放,并根据题目要求多次重放,最终满足全部要求后获得flag。Header请求头参数详解Header解释示例Accept指定客户端能够接收的内容类型Accept: text/plain, text/html,application/jsonAccept-Charset浏览器可以接受的字符编码集。Accep...
2020-04-26 19:47:47
7779
1
原创 DS_Store文件泄漏
什么DS_Store.DS_Store是Mac OS保存文件夹的自定义属性的隐藏文件,如文件的图标位置或背景色,相当于Windows的desktop.ini。 其删除以后的副作用就是这些信息的失去。和别人交换文件(或你做的网页需要上传的时候)应该把 .DS_Store 文件删除比较妥当,因为里面包含了一些你不一定希望别人看见的信息。尤其是网站,通过 .DS_Store 可以知道这个目录里面所...
2020-04-26 19:27:19
20747
1
原创 Git与Git文件导致源码泄露
在一道CTF文章目录什么是Git集中式vs分布式工作区和暂存区学习.git 文件导致源码泄露原理简要介绍git的目录结构如何去利用 ?如何修复.git泄露利用工具GitHack使用方法工作流程CTF中的几种git泄露攻防世界-lottery什么是GitGit是目前世界上最先进的分布式版本控制系统(没有之一)。Git有什么特点?简单来说就是:高端大气上档次!那什么是版本控制系统?如果你用...
2020-04-26 16:56:41
6278
原创 我的汇编学习([Bx]和loop指令)
1. [bx]和内存单元的描述[bx]是什么呢?和[0]有些类似,[0]表示内存单元,它的偏移地址是0。比如在下面的指令中:mov ax, [0]将一个内存单元的内容送入ax, 这个内存单元的长度为2字节(字单元),存放一个字,偏移地址为0,段地址在ds中。mov al, [0]将一个内存单元的内容送入al,这个内存单元的长度为1字节(字节单元),存放一个字节,偏移地址为0,段地址在ds...
2020-04-23 22:14:15
1305
原创 Meterpreter重要命令与使用
Metasploit中的Meterpreter模块在后渗透阶段具有强大的攻击力,本文主要整理了meterpreter的常用命令、脚本及使用方式。包含信息收集、提权、注册表操作、令牌操纵、哈希利用、后门植入等。文章目录0x01.系统命令0x02.文件系统命令0x03.网络命令0x04.敏感信息收集0x05.@提权@小插曲值UAC绕过0x06.mimikatz抓取密码0x07.远程桌面&截...
2020-04-22 17:47:19
1326
原创 [极客大挑战 2019]RCE ME(取反、异或绕过正则表达式、bypass disable_function)
题目进去后,很简单的代码,显然命令执行:但是得要先绕过preg_match()中正则表达式的限制,一开始傻乎乎的直接传了个数组,妄图绕过preg_match(),这很显然是不行的。附上大佬的文章:关于PHP正则的一些绕过方法...
2020-04-21 19:01:50
18068
1
转载 命令执行中关于PHP正则表达式的一些绕过方法
最近做了buuctf上的[极客大挑战 2019]RCE ME,PHP正则的一些绕过方法也终于要用上了,原文地址:https://blog.csdn.net/mochu7777777/article/details/104631142参考:https://www.leavesongs.com/PENETRATION/webshell-without-alphanum.htmlhttps://w...
2020-04-21 16:54:55
8087
1
原创 [极客大挑战 2019]HardSQL(双查询报错,过滤了空格,配合left()或right()回显另一部分flag)
还是同一个页面。先看看后台用什么闭合的:用户名:1密码:1'可知后台为单引号闭合。试试万能密码登录:用户名:1' or 1=1#密码:123常规sql注入发现成这样了。然后发现order by 和 union 都不行,后台有过滤。经在登录框中尝试,发现过滤了and、= 空格 union等多个sql关键字我们尝试报错注入,先尝试group by配合floor()的报错...
2020-04-21 13:45:55
302
原创 sql-libs游戏笔记(8~14)
Less-8(基于布尔的单引号GET盲注,有Python脚本)同样为盲注,输入id=1,显示You are in…输入id=1’,显示不正常:输入id=1’–+,页面有显示正常了。没有任何提示,因为它把错误信息隐藏了,所以并不能用显错式注入,只能用盲注。且说明后台用单引号闭合,那么,报数据库长度:1' and length(database())=8--+ 或1' and leng...
2020-04-21 12:00:10
354
原创 双查询注入实战实例
实例来自sql-libsLess-5 GET - Double Injection - Single Quotes - String (双注入GET单引号字符型注入)输入:?id=1输入?id=1’发现可以显示报错,可知后台代码用单引号闭合。之后只要查询正确就显示You are in…,否则啥也不显示,可是即使正常闭合也不会显示数据。这么一个双查询注入硬是被生生的做成了盲注,,其实这里...
2020-04-21 11:59:28
524
原创 双查询注入
在此之前,我们理解一下子查询,查询的关键字是select,这个大家都知道。子查询可以简单的理解在一个select语句里还有一个select。里面的这个select语句就是子查询。看一个简单的例子:select concat((select database()));CONCAT函数用于连接两个字符串,形成一个字符串。CONCAT(字串1, 字串2, 字串3, …): 将字串1、字串2、字...
2020-04-20 22:48:03
469
原创 远程命令/代码执行漏洞(RCE)总结
文章目录介绍PHP命令执行函数代码执行函数命令拼接符命令执行的一些绕过技巧绕过str_replace()函数空格被过滤的绕过用编码来绕过URL编码绕过Base64编码绕过Hex编码绕过Oct编码绕过:偶读拼接绕过(黑名单绕过)花括号{command,}的别样用法无回显的命令执行方法一:反弹shell方法二:msf反向回连利用RCE反弹Shellnetcat 一句话反弹Shellbash反弹shel...
2020-04-17 21:59:03
8042
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅