自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 代码审计(xhcms一处报错注入的利用)

我们可以通过xhcms来入门代码审计,总结审计的大致思路文章目录seay审计系统审计过程构造payloaddebug调试调整payloadseay审计系统这里先可以使用审计系统对大致可能存在的漏洞点进行一个初步的排查,误报率很高,但是可以一个一个分析来达到提高审计效率审计过程这里确实存在很多漏洞,但是我们重点关注一个报错注入点击进去,观察一下具体是哪一段代码存在问题@mysql_query($query) or die('修改错误:'.mysql_error());这里确实启用了错误

2021-03-08 19:44:51 469 1

原创 [BJDCTF 2nd]r2t4

先查看一下程序的保护,是一个64位的程序,开启了堆栈不可执行保护和

2021-01-06 21:23:29 267

原创 两题看栈迁移

文章目录栈迁移[Black Watch 入群题]PWN栈迁移栈迁移的题目一般有一个特点,就是可以产生栈溢出,但是溢出的长度太短导致无法写完整的payload,而实质就是只能控制ebp的情况下去控制住eip从而控制程序的执行流以 32 位程序举例,在使用 call 这个命令,进入一个函数的时候,程序会进行一系列栈操作:push eip+4; push ebp; mov ebp,esp; 来保护现场,避免执行完函数后堆栈不平衡以及找不到之前的入口地址。执行完函数后会进行一系列操作来还原现场 lea

2021-01-05 20:40:51 534

原创 ez_pz_hackover_2016

首先查看一下题目的保护,发现保护基本没开,可以栈执行和栈溢出用IDA打开程序,关键点在chall函数,首先会打印出s缓冲区的地址,然后接收一个大小不超过1023字节的输入到s缓冲区,然后将缓冲区里换行符后面的内容全部置为0,最后将缓冲区内容与"crashme"这个字符串作比较,如果相同就会进入到vuln函数于是,我们进入到vuln函数分析一下,就是将第一个参数长度n的内容复制到dest缓冲区那利用方式就呼之欲出了,由于输入到s缓冲区的内容长度不够,无法实现溢出,但是只要进入到vuln函数就可以把

2021-01-02 21:22:43 1285

原创 ciscn_2019_s_3

首先拿到程序先查看一下程序类型是一个x86-64的ELF文件,查看一下保护,只开启了堆栈不可执行保护用IDA分析一下该程序main函数直接进入到vuln函数,这里利用了系统调用,64位的系统调用的传参方式为首先将系统调用号 传入 rax,然后将参数 从左到右 依次存入 rdi,rsi,rdx寄存器中,返回值存在rax寄存器vuln函数执行了read(0,buf,0x400),又执行了write(1,buf,0x30)。看一下buf的位置,发现距离rbp只有0x10大小,存在栈溢出这里的栈

2020-12-29 22:17:10 2079 4

原创 ret2shellcode

shellcode的含义:在栈溢出的攻击技术中通常是要控制函数的返回地址到自己想要的地方执行自己想要执行的代码。ret2shellcode代表返回到shellcode中即控制函数的返回地址到预先设定好的shellcode区域中去执行shellcode代码,这是非常危险的。这里学习一下shellcode的利用方式,用ret2shellcode作为例题先用checksec查看一下保护,可以看到,没有开启任何保护机制,且是一个32位的程序使用IDA分析程序,只发现了主函数,并没有发现后门函数get

2020-12-18 21:15:31 4469 3

原创 get_started_3dsctf_2016

先进入到题目环境里,程序接收用户输入,然后返回一串字符checksec查看一下保护,只开启了NX,堆栈不可执行保护用IDA分析程序,这一段程序很简短,gets函数存在溢出发现了一个名为get_flag的函数通过这个函数传入参数,且满足条件(a1 == 814536271 && a2 == 425138641)即可读取到flag思路就是main函数溢出到返回地址的时候直接溢出到if条件判断里面,即使栈空间被破坏了,但是无所谓,已经输出flag了这里可以用本地调试判断偏移量

2020-12-17 22:30:11 1308 4

原创 [BJDCTF 2nd]r2t3 (整型溢出)

进入到题目环境,程序接收一个输入,测试之后,发现输入任何值的返回都是Oops,u name is too long!checksec查看一下程序保护,只开启了NX那就用IDA分析一下程序,将输入读取到buf的内存当中,又作为name_check函数的参数进入到name_check函数里,存在一个判断,如果参数的长度大于3且小于等于8,则将s的值复制到dest的内存空间里。分析之后,当通过条件判断之后,变量dest可以造成栈溢出这里也存在整数溢出,v3的类型为unsigned __int8是一

2020-12-16 17:58:42 165

原创 [第五空间2019 决赛]PWN5 (格式化输出漏洞)

连接到环境,首先测试一下具体有哪些功能,是一个登录程序checksec查看一下保护,开启了NX和Canary用IDA分析程序首先生成一个随机值,然后获取我们的输入读取到buf内存空间,再将buf内存空间的值输出,继而接收一个输入读取到nptr内存,如果nptr的整型与随机值相等则获取到权限分析之后,并未发现有溢出,不过存在格式化输出漏洞,参考文章只需改写掉随机值,然后输入该值即可通过条件判断,改写掉栈上的值,需要知道此时的偏移是多少,可以本地调试也可以远程测试%x是吧数据以16进制输出

2020-12-15 21:19:13 416

原创 [OGeek2019]babyrop(ret2libc)

题目给出了一个动态链接文件,是ubantu16的系统,先进入到题目环境里,可以直接进行输入,无回显,先checksec文件查看一下保护IDE分析一下程序先看主函数,读取了随机数,读到了buf的内存空间里,然后将这个随机数传入到sub_804871F的函数里进入到sub_804871F函数首先,发现函数中有个字符串的比较,如果字符串不相同,则会直接退出程序,而s是main函数中的buf(随机数),所以要想办法直接绕过这个比较,所以v1必须等于0。v1 = strlen(buf),strlen这个

2020-12-14 23:11:47 305

原创 ciscn_2019_c_1(类型:ret2libc)

和之前做的题目不太一样,这是一道Return2libc的题目,有很多问题还是不太懂,这里做一个记录。首先进入到题目环境里面,看看程序大概功能,这样方便了解程序。有三个功能选项,只有选项1才有具体的作用,会对输入进行加密,加密输出之后继续返回到程序用IDA分析程序checksec查看一下,开启了NX先看到主函数,汇编代码的大致意思也就是选项处输入1就可以进入到encrypt函数,下面给出主函数伪代码,输入的是v4,如果v4=1 调用encrypt函数进入到encrypt分析这里发现了ge

2020-12-13 12:41:25 291

原创 buu rip

连接上题目环境后,发现可以输入字符,然后得到返回[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传用IDA分析程序,发现主函数和一个名为fun的子函数先看main函数的汇编代码和伪代码get很明显没有限制输入,那么就存在溢出的漏洞,在字符串表中又发现了/bin/sh的字符,在fun函数中用了system函数进入到/bin/sh,那么就可以通过将fun函数的地址覆盖到返回地址就可以实现溢出获得系统权限双击s查看输入点在栈的位置,发现只需存入15个字节即可劫持函数返回地址,因此

2020-12-10 21:14:36 1955 4

原创 通过bof初识栈溢出

pwnable.kr中的bof也可以算是学习栈溢出的"hello world"题目给出了程序下载地址和c的代码,并且给了程序的一个监听口,通过该端口即可连接到题目的环境先分析一下C的代码#include <stdio.h>#include <string.h>#include <stdlib.h>void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflo

2020-12-09 00:17:40 196

原创 2020 上海市网络安全大赛 web

文章目录千毒网盘in_array绕过变量覆盖联合注入布尔盲注hello注入点绕过与利用千毒网盘题目是后期复现的,无js,页面较丑打开题目,直接看到一个表单,发现存在备份文件www.zip发现index.php和code.phpin_array绕过先看code.php的getfile函数,此函数处理的是传入的参数进入数据库查询下载直链的过程,这里发现传入并没有经过任何的过滤,明显的存在SQL注入 public function getfile() {

2020-11-19 17:27:29 1641 1

原创 Flask 编程学习

有关flask的前言微框架中的“微”字表示 Flask 的目标是保持核心简单而又可扩展缺省情况下, Flask 不包含数据库抽象层、表单验证或者其他已有的库可以处理的东西。 然而, Flask 通过扩展为你的应用添加这些功能,就如同这些功能是 Flask 生的一样。 大量的扩展用以支持数据库整合、表单验证、上传处理和各种开放验证等等。Flask 可能是 “微小”的,但它已经为满足您的各种生产需要做出了充足的准备。Flask 有许多带有合理缺省值的配置值和惯例按照惯例, 模板和静态文件存放在应用的 P

2020-11-16 22:54:41 302

原创 PHP代码执行绕过姿势 无数字字母类型

问题引导<?phphighlight_file(__FILE__);header("Content-type:text/html;charset=utf-8");error_reporting(0);if(preg_match('/[a-z0-9]/is',$_GET['shell'])){ echo "hacker!!!";}else{ eval($_GET['shell']);}看到上面的代码,很明显是一道代码执行的题目,但是利用难点在对输入参数进行了正则匹配,过

2020-10-31 16:49:38 3081 1

原创 [GYCTF2020]Ez_Express

打开题目,看到登录注册的表单,在右边看到提示,需要使用ADMIN用户名登录先注册一个号,然后登录进去,只有一个空白的页面,习惯性的查看页面源代码,发现在注释中有www.zip,存在备份文件,下载文件得到源码关键源码在app.js和index.js中,直接开始代码审计吧/route/index.js中用了merge()和clone(),必是原型链的问题了原型链概念在 Javascript,每一个实例对象都有一个prototype属性,prototype 属性可以向对象添加属性和方法。objec

2020-10-27 23:44:47 1556

原创 [省信息安全技术大赛]Web4

打开题目,直接得到了源码 <?php show_source(__FILE__); function getKey($path){ $name = $path.md5($_SERVER["REMOTE_ADDR"]).'.php'; return $name; } echo $_SERVER["REMOTE_ADDR"]; $expire = $_POST['expire']; $path = $_POST['pa

2020-10-26 23:28:30 691

原创 [MRCTF2020]Ezpop

打开题目,直接得到源代码<?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; public function

2020-10-23 21:19:11 191

原创 [CISCN]2020

[CISCN2020]-easyphp<?php //题目环境:php:7.4.8-apache $pid = pcntl_fork(); if ($pid == -1) { die('could not fork'); }else if ($pid){ $r=pcntl_wait($status); if(!pcntl_wifexited($status)){ phpinfo();

2020-10-21 20:38:38 664

原创 [MRCTF2020]Ezpop_Revenge

题目打开是个typecho博客,www.zip泄露,下载得到源码看到flag.php可能是一个SSRF的题<?phpif(!isset($_SESSION)) session_start();if($_SERVER['REMOTE_ADDR']==="127.0.0.1"){ $_SESSION['flag']= "MRCTF{******}";}else echo "我扌your problem?\nonly localhost can get flag!";?>因为是一

2020-10-17 10:45:25 1317

原创 [GKCTF2020]EZ三剑客-EzWeb

打开题目,直接看到一个表单查看页面源代码,发现有一个注释提交这个secret参数,看到网络配置信息尝试访问了一下这个内网ip 173.244.225.10,发现回显了本页面,因此猜测可能是内网中有内容。猜测可能存在是ssrf扫描一下c段...

2020-10-14 21:21:14 812

原创 [SUCTF 2018]MultiSQL

打开题目,是一个页面,只有登录 注册功能可以正常使用先注册一个账号,注册后自动登录,登录之后看到在用户信息处可以查看到自己的信息编辑头像处可以上传头像图片,可能存在文件上传漏洞前端对文件后缀名进行了过滤,但是上传php文件,存入的依旧是图片文件那再看看刚才的查看信息的页面,发现url如下http://e0063ae7-b2ce-42cd-bf4b-9341c0e87bf9.node3.buuoj.cn/user/user.php?id=2将id的参数改为1存在越权,也可能存在SQL

2020-10-10 19:51:59 1401 2

原创 [GWCTF 2019]枯燥的抽奖

打开题目,发现是一个猜数的游戏填入20位字符串,如果符合要求即可得到flag,但是此时只知道一部分hTo22O7vco先查看页面源代码,发现存在check.php,访问得到了代码<?php#这不是抽奖程序的源代码!不许看!header("Content-Type: text/html;charset=utf-8");session_start();if(!isset($_SESSION['seed'])){$_SESSION['seed']=rand(0,999999999);}

2020-10-09 20:37:03 684

原创 [0CTF 2016]piapiapia

打开题目,看到一个可爱的登录界面,尝试SQL注入未果,直接目录扫描扫描到register.php config.php 和备份文件www.zip先弄清楚这些页面的具体功能,在register.php注册账号然后登录,看到一个填写个人资料的表单,也存在文件上传点尝试后,应该不存在SQL注入和文件上传漏洞,填写信息后提交,然后在profile.php可以查看到我们提交的资料到这里,我们已经对大致的功能点有所了解,不过漏洞点还不确定,因此要审计泄露的备份文件首先看下刚才发现的功能点和猜测的漏洞点的源码

2020-10-08 18:02:21 358

原创 [FBCTF2019]Event

打开题目,只有一个登录注册框,无法使用admin登录注册在 /flag 页面中提示我们并不是管理员,猜测要得到管理员权限才可以Get Flag在主页看到表单,先随意输入一些值进去,页面回显了Name of your event 的值这里有可能存在xss或者SSTI,尝试后,无css,应该存在SSTI抓包发现cookie,event_sesh_cookie应该是jwt加密过大致猜测出本题应该是可以通过SSTI得到密钥伪造cookie,越权登录admin的账户在提交数据的时候,有三个可控参数

2020-09-29 17:32:12 661

原创 [RootersCTF2019]ImgXweb

题目里只发现了一个页面和登录注册的功能点信息搜集并没有得到什么结果,我们先注册一个用户,admin用户显示已注册,注册一个用户名为MOYI的账号登录成功后发现了一个文件上传的功能点登陆上后。文件上传。不能传.htaccess类似的。但是php啥的都可以传,不解析那么应该不是phpweb。java。也不像。估计是python。然后session应该是jwt加密过的eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyIjoiTU9ZSSJ9.F-ZV3xo

2020-09-28 22:22:03 795

原创 [BJDCTF2020]Cookie is so stable

打开题目,发现了一个表单在hint.php的页面源代码中发现一行注释,根据提示,cookie可能可以被我们利用抓包后发现cookie中存在一个user,输入{{4*4}},页面直接返回了结果,说明这里存在SSTI模板注入经过测试,这里可能为twing模板,使用payload进行命令执行{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}};...

2020-09-28 20:28:44 119

原创 2020-09-28

该题,参考https://github.com/beerpwn/ctf/tree/master/2019/BSidesSF_CTF/web/mixer打开题目,是一个登录框提示的大致意思就是“签名”和“ rack.session” cookie并不是该题的考察点这儿需要我们登录,根据题目提示,我们需用admin登录就能拿到flag,我们先随便登录一下试试返回了一串cookie user,应该是某种加密但是题目并没有提示,尝试解码也并没有特别明显的线索,后来随便改一下user的值,发现报错,并且

2020-09-28 19:53:07 72

原创 [BJDCTF2020]ZJCTF,不过如此

打开题目,直接看到代码<?phperror_reporting(0);$text = $_GET["text"];$file = $_GET["file"];if(isset($text)&&(file_get_contents($text,'r')==="I have a dream")){ echo "<br><h1>".file_get_contents($text,'r')."</h1></br>";

2020-09-27 15:24:29 140

原创 [GKCTF2020]CheckIN

打开题目,直接得到源码<title>Check_In</title><?php highlight_file(__FILE__);class ClassName{ public $code = null; public $decode = null; function __construct() { $this->code = @$this->x()['Gink

2020-09-25 23:47:05 335

原创 [CSAWQual 2016]i_got_id

存在文件上传页面,点击提交按钮会回显文件内容。注意到题目都是用perl编写的网页文件(.pl) 。猜测一下后端代码,题目使用如上代码将上传的文件原样输出到网页if ($cgi->upload('file')) { my $file = $cgi->param('file'); while (<$file>) { print "$_"; print "<br />"; }}param()函数会返回一个列表的

2020-09-25 16:40:10 607

原创 [LCTF]bestphp‘s revenge

知识点:session反序列化->soap(ssrf+crlf)->call_user_func激活soap类题目直接提供了index.php和flag.php的源码//index.php <?phphighlight_file(__FILE__);$b = 'implode';call_user_func($_GET['f'], $_POST);session_start();if (isset($_GET['name'])) { $_SESSION['name'

2020-09-25 10:07:52 826

原创 [SUCTF 2019]Pythonginx

知识点:nginx配置文件路径 black hat一个议题 任意读取文件这道题用的是blackhat议题之一HostSplit-Exploitable-Antipatterns-In-Unicode-Normalization,blackhat这个议题的PPT链接如下:https://i.blackhat.com/USA-19/Thursday/us-19-Birch-HostSplit-Exploitable-Antipatterns-In-Unicode-Normalization.pdf

2020-09-24 21:07:23 682

原创 [CISCN2019 华北赛区 Day2 Web1]Hack World

打开题目是一个查询的表单,并且明确提示了存在flag表和flag字段,那这里应该考察SQL注入漏洞的利用抓包提交数据,提交的ID应该就是注入点,接下来测试注入类型和注入方式提交id=1 和 id=2id=1 Hello, glzjin wants a girlfriend.id=2 Do you want to be my girlfriend?当id不同时,查询到的数据也会发生改变,尝试几次输入后发现存在过滤,且注入类型应为盲注先通过fuzz确定过滤掉了哪些内容长度为482说明该数据

2020-09-21 14:57:01 3955 4

转载 hash长度拓展攻击

<?php include("key.php");class person{ public $aa; public $bb; public $username; public $password; public function __construct($key=''){ $this->username="jxsz"; $this->password="jxsz"; if(strlen(

2020-09-11 19:12:11 158

原创 SSTI模板注入文章收集

https://xz.aliyun.com/t/3679

2020-09-07 18:25:09 109

原创 2020江西大学生省赛wp

本次比赛Writeup由:江西软件职业技术大学 信息安全协会 提供赛题类型MiscMisc1-HelloMisc2-encryptMisc3-jumpMisc4-BurpsMisc5-TreesMisc6-qrcodeMisc7-blindMisc8-musicWebWeb1-AuditWeb2-scannerWeb3-greatctfWeb4-AdminReverseReverse1-BabyreReverse2-CheckReverse3-CrackmeReverse4-oplogPwnPwn1_.

2020-08-31 20:53:54 433

转载 安全圈微信公众号

安全技术长亭科技安恒信息安全研究院奇安信ATEAM深信服千里目安全实验室天融信阿尔法实验室酒仙桥六号部队看雪学院T00lsFreeBufBypass吾爱破解论坛Secquan圈子社区i春秋赛宁网安白帽学院白帽子社区国科漏斗社区云众可信黑白之道星盟安全红日安全乌云安全渗透云笔记信安之路中国白客联盟渗透测试教程悬剑武器库行长叠报CTFHubNu1L Team白帽100安全攻防实验室天枢Dubhe胖

2020-07-31 16:40:14 489 1

原创 SQL注入之header注入

请求头参数(header)Header解释示例Accept指定客户端能够接收的内容类型Accept: text/plain, text/html,application/jsonAccept-Charset浏览器可以接受的字符编码集。Accept-Charset: iso-8859-5Accept-Encoding指定浏览器可以支持的web服务器返回内容压缩编码类型。Accept-Encoding: compress, gzipAccept-Languag

2020-07-21 17:22:47 943

空空如也

空空如也

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

TA关注的人

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