天网管理系统(反序列化问题)
来源:互联网 发布:网络电影丧尸李志开播 编辑:程序博客网 时间:2024/06/05 17:06
http://www.shiyanbar.com/ctf/1810
天网管理系统
天网你敢来挑战嘛
格式:ctf{ }
解题链接: http://ctf5.shiyanbar.com/10/web1/
查看源码如下:
实践序列化的格式:
天网管理系统
天网你敢来挑战嘛
格式:ctf{ }
解题链接: http://ctf5.shiyanbar.com/10/web1/
查看源码如下:
<html><head><meta charset=utf8><title>最安全的管理系统</title></head><body><h1>天网管理系统</h1><p>安全与你同在</p><p>账户:admin 密码:admin</p><p>就是这么光明正大的放置用户名和密码,爸爸说我们再也不会忘记密码啦。</p><form enctype="multipart/form-data" method="post" action="index.php"><table><th><td>大家请放心使用我们的产品。</td></th><tr><td>用户名:</td><td><input type="text" name="username" value="admin"></td></tr><tr><td>密码:</td><td><input type="text" name="password" value="admin"></td></tr><tr><td><input type="submit" value="登入系统"</td></tr></table></form><!-- $test=$_GET['username']; $test=md5($test); if($test=='0') --></body></html>
解:
考点: PHP弱类型
看到注释里面有一个提示,当传入的username值经md5加密后等于0,就会返回某样东西。
访问这个页面得到:
$unserialize_str = $_POST['password']; $data_unserialize = unserialize($unserialize_str); if($data_unserialize['user'] == '???' && $data_unserialize['pass']=='???') { print_r($flag); }伟大的科学家php方言道:成也布尔,败也布尔。
回去吧骚年。
查手册:
unserialize() 对单一的已序列化的变量进行操作,将其转换回反序列化 PHP 的值。
返回的是转换之后的值,可为 integer、float、string、array 或 object。
如果传递的字符串不可解序列化,则返回 FALSE,并产生一个 E_NOTICE。
查定义:
序列化与反序列化:
把复杂的数据类型压缩到一个字符串中
serialize() 把变量和它们的值编码成文本形式
unserialize() 恢复原先变量
<?phperror_reporting(0);$test='';$test=array("user"=>1,"pass"=>1);echo var_dump($test);echo var_dump(serialize($test));$test1='';$test1=array("user"=>true,"pass"=>true);echo var_dump($test1);echo var_dump(serialize($test1));?>
(a代表array,s代表string,b代表bool,而数字代表个数/长度)
解题:
1.我们需要构造序列化的password填入,代码意思是把post提交的password值经过"反序列化"得到一个数组,
要求数组里的user和pass都等于某个值时就打印flag
2.加上代码提示布尔。
3.bool类型的true跟任意字符串可以弱类型相等。因此我们可以构造bool类型的序列化数据 ,无论比较的值是什么,结果都为true。
4.构造password: a:2:{s:4:"user";b:1;s:4:"pass";b:1;}
阅读全文
2 0
- 天网管理系统(反序列化问题)
- Jackson 反序列化问题
- Jackson反序列化问题
- CTF 实验吧 天网管理系统
- ehcache 序列化,反序列化问题
- kryo的反序列化异常问题
- java fastjson反序列化问题记录
- ThinkPHP系统变量,常量,序列化,反序列化,缓存
- 分布式系统中的序列化与反序列化
- 序列化反序列化(一)
- .net 反序列化(LitJSON)
- 反序列化(先序)
- 反序列化(层序)
- 反序列化
- Xml 反序列化
- 反序列化对象
- 反序列化问题解决
- json 反序列化
- CCF考试练习——201703-1
- jumpTip
- Trie (Prefix Tree) 前缀树
- IPAddress.Any
- ztree自定义图标实现方法
- 天网管理系统(反序列化问题)
- TP3.2安装Memcached扩展-安装及遇到的问题-以完成
- 1028. 人口普查(20)
- 用VirtuaBox虚拟机安装centos7参考资料链接
- SpringMVC支持跨域访问的CORS配置
- Activity用户点击转屏后,恢复自由转屏
- Java面试题
- POJ-2430:Lazy Cows
- 使用maven无法查看jdk源码