[安洵杯 2019]easy_serialize_php之愚见

三句题外话,第一句是终于放假了,在考试周活了下来,最后一周面临3门考试,我仍然做了2道比较基础的题目,现在重做一下顺便写wp,不敢说是热爱,勉强说是兴趣,矢志web。第二句是感谢通信原理老师给了我过,对于从没接触过通信的我来说,上课完全听不懂,最后靠党性,衷心感谢老师。第三句,寒假还是要学点习的(坐等真香),尤其是追求自己的喜欢的。

进入正题,打开即是源码,

将参数f改成phpinfo即可调用phpinfo()函数,看到几个比较敏感的点,

我想到了几个问题:

1.源码里,没有session_start(),phpinfo()里,session.auto_start也是off的,这样的话,在session这个问题上,每个页面顶多只能读取本身页面的$_SESSION数组。所以对于本题来讲应该只需要对这个页面做文章,不用想别的页面了。我们要搞清楚PHP中session机制的工作流程,同时我们也要明白这个题目里根本没有读取session文件,这个题只是把$_SESSION数组进行了serialize(),这种地方不要因为看到php处理器而犯迷糊。

2.虽然使用的是php处理器,但按上面所讲显然不存在解析器差异带来的对象注入问题;

3.过滤函数filter()是对serialize($_SESSION)进行过滤,滤掉一些关键字

4.正常传img参数进去会被sha1加密,我认为这里应该不存在有一个字符串,它sha1加密后的结果能与dog_flag.php这种名字碰撞,故我们应该用别的方法控制$_SESSION中的参数;

5.引用一位大佬的一句话:任何具有一定结构的数据,只要经过了某些处理而把自身结构改变,则可能会产生漏洞。

本来挺好的序列化的字符串,按某种去掉了一些关键字,本身就不对,本身就涉及到可能破坏原有结构而无法正常反序列化的问题。这里是利用反序列化长度逃逸控制了img参数。之前有一道题目是关键字替换导致字符串长度变长,把后面的原有参数挤出去了,本题是关键字被置空导致长度变短,后面的值的单引号闭合了前面的值的单引号,导致一些内容逃逸。


正常的序列化字符串

因为我们能控制的是$_SESSION的参数,payload只能以字符串形式传进去,然后想办法将它前面的控制符  s:xx: 闭合到一个字符串中取,这样就能将后面的payload作为独立的一个键和值。

我们需要的序列化字符串的格式(为了便于截图已换行)

我们要注意一点,如果 s:40:被闭合了,前面的s:5:"xxxxx";s:40:"只是一个键,而没有值(先不考虑长度问题),会反序列化失败,所以我们的payload的里应额外包含一个键值对,


真正能发挥作用的字符串的格式

";s:64: 这几个控制字符长度为7,";s:7:"xxxxxxx"这几个控制字符(和数据)长度为13,为了将他们闭合进前面的字符串,


由外而内


由此以来的话,payload为

;s:14:"phpflagphpflag";s:7:"xxxxxxx";s:3:"img";s:20:"L2QwZzNfZmxsbGxsbGFn";}

传入即可,


心得:接触一个题时思路还是要发散的,通过题目去猜测出题人的引导,去排除,再加上多多积累多多见识多多实践,(不难的)题目一般都可以做。不得不说安洵杯的题确实比较友好,考点不难而且也比较直接,不拐弯抹角。

大胆应无惧,雄心誓不回

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,198评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,663评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,985评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,673评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,994评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,399评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,717评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,407评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,112评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,371评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,891评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,255评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,881评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,010评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,764评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,412评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,299评论 2 260

推荐阅读更多精彩内容

  • sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息。 ======...
    wind_飘阅读 1,941评论 0 5
  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sq...
    xuningbo阅读 10,140评论 2 22
  • 4.1.1. 后门 4.1.1.1. php.ini构成的后门   利用 auto_prepend_file 和 ...
    最酷的崽_ec69阅读 514评论 0 0
  • 11、谈谈mvc的认识。由模型、视图、控制器完成的应用程序,由模型发出要实现的功能到控制器,控制器接收组织功能传递...
    像敏锐的狗阅读 353评论 0 2
  • 今天是早就划算好了的,不去健身房。算着有这么多的时间,可以写一段文字,可以看很多页的书,还有听好几课的课程了。 然...
    最早的花拖鞋阅读 2,192评论 16 164