PHP反序列化学习与实践

概念

反序列化:PHP程序为了保存和转储对象,提供了序列化的方法,PHP序列化是为了在程序运行的过程中对对象进行转储而产生的。序列化可以将对象转换成字符串,但仅保留对象里的成员变量,不保留函数方法。

基本上都是围绕这两个函数来展开的,通俗的说反序列化和序列化的意思。

序列化:将对象转换成字符串。

反序列化:将序列化后的字符串转换为对象还原。

这两个关系相当于一正一反。


SQL注入-CTF

概要

SQL注入:开发人员在开发过程中,直接将URL中的参数、HTTP Body中的Post参数或其他外来的用户输入(如Cookies,UserAgent等)与SQL语句进行拼接,造成待执行的SQL语句可控,从而使我们可以执行任意SQL语句


CTF线下AWD流程和准备工作

0x00 AWD

img

AWD:Attack With Defence,比赛中每个队伍维护多台服务器,服务器中存在多个漏洞,利用漏洞攻击其他队伍可以进行得分,修复漏洞可以避免被其他队伍攻击失分。

  1. 一般分配Web服务器,服务器(多数为Linux)某处存在flag(一般在根目录下);
  2. 可能会提供一台流量分析虚拟机,可以下载流量文件进行数据分析;
  3. flag在主办方的设定下每隔一定时间刷新一轮;
  4. 各队一般都有自己的初始分数;
  5. flag一旦被其他队伍拿走,该队扣除一定积分;
  6. 扣除的积分由获取flag的队伍均分;
  7. 主办方会对每个队伍的服务进行check,服务宕机扣除本轮flag分数,扣除的分值由服务check正常的队伍均分;
  8. 一般每个队伍会给一个低权限用户,非root权限;

你需要在一场比赛里要扮演攻击方和防守方,攻者得分,失守者会被扣分。也就是说,攻击别人的靶机可以获取 Flag 分数时,别人会被扣分,同时你也要保护自己的主机不被别人得分,以防扣分。