攻防世界WEB(二)baby_web、Training-WWW-Robots、PHP2、unserialize3

发布于:2023-01-12 ⋅ 阅读:(663) ⋅ 点赞:(0)

目录

(一)baby_web

 Knowledge:

1.输入URL

2. 抓包(index.php)

 3.放到Repeater模块

 4. 发现flag但是隐藏了

 (二)Training-WWW-Robots

Knowledge: 

 1.在URL后面加上robots.txt

 2. 在URL后面加上/fl0g.php

 (三). PHP2

 Knowledge: 

1. 先扫描​编辑

2.分析代码

(四)unserialize3

 Knowledge:

1.分析源码

 2. 得到序列化内容


(一)baby_web

 Knowledge:

1、index.php一般为php的初始页面

1.输入URL

 发现网页直接跳转到1.php

2. 抓包(index.php)

 3.放到Repeater模块

 4. 发现flag但是隐藏了

 (二)Training-WWW-Robots

Knowledge: 

 1.在URL后面加上robots.txt

 2. 在URL后面加上/fl0g.php

 (三). PHP2

 Knowledge: 

代码发现,御剑使用

1. 先扫描

2.分析代码

<?php
if("admin"===$_GET[id]) {
  echo("<p>not allowed!</p>");
  exit();
}

$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")
{
  echo "<p>Access granted!</p>";
  echo "<p>Key: xxxxxxx </p>";
}
?>

Can you anthenticate to this website?

第一步,要使得"admin"===$_GET[id]不成立

第二步,经过$_GET[id] = urldecode($_GET[id]);,使得$_GET[id] == "admin"成立。

二次编码:

urldecode(%2561)=%61

urldecode(%61)=a

?id=%2561dmin

(四)unserialize3

 Knowledge:

看这个

1.分析源码

看见__wakeup()就知道涉及到序列化、反序列化

执行unserialize()反序列化时,先会调用__wakeup()函数

 2. 得到序列化内容

 


__wakeup()漏洞:当序列化字符串所表示的对象, 其序列化字符串中属性个数大于真实属性个数时就会跳过__wakeup的执行

将变量1改为2或者其他大于1的数字

?code=O:4:"xctf":4:{s:4:"flag";s:3:"111";}

 


网站公告

今日签到

点亮在社区的每一天
去签到