12. unserialize3&view_source

核心思想:不让wakeup这个函数执行 只有反序列化异常的情况下(也就是属性值个数大于属性个数的时候即异常)

有一个PHP的类:xctf

有一个flag的对象

wakeup的方法 如果触发了这个方法 就离开了 也就得不到flag的值

?code:将类以参数的形式传给xctf

目标:1.反序列化xctf

步骤:1.先序列化flag对象的值

<?php class xctf { public $flag = '111'; } $a = new xctf(); echo serialize($a); ?>

O:4:“xctf”:2:{s:4:“flag”;s:3:“111”;}

将1改成2即可绕过wakeup功能

提交url即可

注意:1.如果flag这个对象如果不是公有的对象是私有的话

且如果编译出来的序列化内容 类与对象连在一起 需要在xctf与flag间加%00

也就是改为 %00xctf%00flag

注意这个%00不是空格而是url编码

  1. 题目介绍鼠标右键不管用了
  2. 按F12试试
  3. 查看页面源代码发现存在flag
  4. cyberpeace{911f212270286f4c4aa587e1216a9a49}

13.weak_auth&simple_php

  1. 由这个的提示可以看出 用户名为admin
  2. 这时候需要猜密码
  3. 于是用BP的密码暴力破解
  4. 输错密码后发现是check.php
  5. F12查看页面源代码看看
  6. 发现给了个提示 说 你需要一个字典
  7. 所以用BP的暴力破解
  8. 发现flag

  1. 首先需要上传一个a的值 a的值必须等于0 而且a还得存在
  2. 这里输入?a=0试试 发现并没有反应 可能a=0是不存在的
  3. 输入 a=‘0’字符串试试
  4. 发现有反应了
  5. 接下来看b
  6. 这个b如果是数字的话就会退出 所以b不能是数字 但是不是数字还得大于1234
  7. 这里就有php一种弱语言的特性 比如 1235c>1234
  8. 所以b=1235c的话 就满足条件了

14. NewsCenter(SQL注入)

  1. 查看页面后发现只有search new那一栏可以输入,尝试输入一些东西看看有没有什么变化的东西
  2. 输入1,2,3后分别有不同的内容回显
  3. 猜测是SQL注入
  4. 输入1’ or 1=1 #后发现
  5. 回显了news的全部内容
  6. 查询可利用的字段
  7. 发现到4的时候跳转到了另一个界面
  8. 说明有三个可利用的字段
  9. 接下来用union联合查询查询哪几个字段有回显点
  10. 发现2和3有回显点
  11. 接下来就是查询数据库 表名 字段的数据
  12. 查询数据库:
  13. 查询表名:1’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() #
  14. **查询字段名:**1’ union select 1,group_concat(column_name),3 from information_schema.columns

where table_name=“secret_table” # 注意secret_table 必须加上双引号 否则回显不了如果加上双引号也失败 可以将表名改为 十六进制 前面加上0x 例如:0x7365637265745f7461626c65 这样的目的是为了表示后面的数是16进制在编程里面一般都要加入 来区别十进制数

1’ union select 1,group_concat(column_name),3 from information_schema.columns where table_name=0x7365637265745f7461626c65 # 注意 如果用16进制的话 就不需要加双引号了 同样有回显

  1. 接下来查询fl4g这个字段的数据
  2. 1’ union select 1,fl4g,3 from secret_table #
  3. 得到flag

15.upload1

  1. 看出文件上传漏洞
  2. 先上传一个ctf.php试试
  3. 发现还没点击上传就弹框了
  4. 这时候只需要禁用JS脚本即可
  5. 然后再次上传 发现上传成功
  6. 然后用蚁剑连接即可

16.xff_referer

  1. 考http请求头 IP来源

X-Forwarded-For 尝试这个

  1. 抓包写即可
  2. 接下来需要考虑http 的来源

17.command_execution

  1. 远程代码执行漏洞
  2. 而且没有任何的WAF
  3. find / -name “flag*” :这行代码的意思是 从根目录是开始找 flag 以及flag后面仍有东西的文件

18.web2

<?php $miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws"; function encode($str){ //对字符串进行反转 如果是abc 那么就是 cba $_o=strrev($str); // echo $_o; for($_0=0;$_0
  1. 考点就是写一个解密算法 把源码倒过来写即可
<?php function decode($str) { $a=base64_decode((strrev(str_rot13($str)))); for($_0=0;$_0
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐