SUCTF-2019-Web-easyphp
赛后想写一些比赛时的心得 , 但是找到的 Docker 环境都无法完美运行 , 或多或少有一些问题 , 这里就不写解题过程了 , 记录一下自己的想法吧~ easyphp 题目直接给了源码 乍一看这是一道代码执行的题目 , 题目从URL获取GET参数" _ " 的值并且对其进行过滤检测 , 当通过所有检测后用户的输入内容会被 ev…
SUCTF-2019-Web-checkIn
赛后想写一些比赛时的心得 , 但是找到的 Docker 环境都无法完美运行 , 或多或少有一些问题 , 这里就不写解题过程了 , 记录一下自己的想法吧~ checkIn 签到题难度不大 , 考得是一个文件上传漏洞 , 题目界面大概是这样的 上传一个文件 , 页面会返回对应信息 , 该题在对上传的文件进行了限制 上传的文件后缀名中不可以出现 ph 字…
Web-Zhuanxv-WriteUp
Zhuanxv 拿到后台界面 打开链接发现是一个显示时间的页面 拿 dirseach 扫一下目标站点有没有暴露什么敏感文件或者目录 发现存在一个 list 目录 , 进入后跳转为后台登录页面 登录页面第一个想到 SQL 注入 , 随手试了几个 Payload 没有注入成功 , 应该没有那么简单 , 先放在一边 . 拿到后端的部分源码 先拿 Burp…
GOT & PLT (1)
前言 在学习 Hijack GOT 这种 PWN 攻击方式时 , 需要理解程序在链接库内定位函数的两张表 ------ GOT( 全局偏移量表 ) 和 PLT( 程序链接表 ) , 这是非常关键的 因为之前没有接触过这方面内容 , 所以本章先不去探究 GOT 和 PLT 这两张表 , 而是看一看基础内容 一些基础内容 在研究 GOT 和 PLT 这…
从零学习PWN(4)-ROP
ROP — 修改返回地址 , 让其指向内存中已有的一段指令 该类攻击方法的主要任务是 : 在内存中确定某段指令的地址 , 并用它覆盖返回地址 . 前面提到了 Return2libc 这种攻击方式 , 它同样可以定位到指定内存地址并覆盖返回地址 . 但很多时候目标函数无法在内存中找到 , 目标操作没有完美适配的特定函数 , 这时就需要在内存中寻找多个…
从零学习PWN(3)-Return2libc
Return2libc --- 修改函数返回地址 , 让其指向内存中的一段指令 该类攻击方法的主要任务是 : 在内存中确定某个函数的地址 , 并用其覆盖掉返回地址 . 由于 libc 动态链接库中的函数被广泛使用 , 所以大概率可以在内存中找到该动态库 , 同时由于该库包含了一些系统级函数( 比如 system() ... ) , 因此可以使用这些…
从零学习PWN(2)-ShellCode
ShellCode --- 修改函数返回地址 , 让其指向溢出数据中的一段指令 该类攻击方法的主要任务是 : 在溢出数据内包含一段攻击指令 , 用攻击指令的起始地址覆盖函数的返回地址 攻击指令一般是用来打开Shell的 , 从而可以获得当前进程的控制权 , 所以这类指令片段也被称为 : ShellCode ShellCode可以用汇编语言写后转换成…
从零学习PWN(1)
简介 本文是根据长亭科技大佬 jwizard 的教程总结而成的 . 之前学习过一些基础课程 , 现在正式开始学习PWN 开始 缓冲区溢出是个非常古老的话题 , 计算机程序的运行依赖于函数调用栈 . 栈溢出是指在栈内写入超出长度限制的数据 , 从而破坏程序运行甚至获得系统控制权的手段 , 这里以 32位x86架构下的程序为例 , 学习什么是栈溢出 如…
Perl学习笔记(1)
最近要分析一个perl的程序 , 之前没有接触过这门脚本语言 , 现在刚好学习一下~ 本章重点 : Perl 三个基本数据类型 Helloworld 与其他脚本语言类似 , perl 可以采用 交互式编程 , 也可以采用 脚本式编程 交互式编程 脚本式编程 脚本中所有类型的空白( 比如 tab , 空格 , 空行 ... ) , 只要它们在引号外 …