欢迎来到爱采购百度旗下B2B平台!
北京 上海 杭州 广州
北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云喃 西藏 陕西 甘肃 青海 宁夏 新疆 台湾
互联网药品信息服务资格证书(京)-经营性- 医疗器械网络交易服务第三方平台备案:(京)网械平台备芓(2020) 第00002号
打开题目我们直接就看到源碼加上注释如下
而且通过题目链接可以知道hello变量一定是6位的,一开始真以为是爆破了但是一想肯定很大,不可能而且我们发现 $$a 这个東西很诡异。其实就是php中变量可以当作另一个变量的变量名例如
PHP一个比较有意思的变量!$GLOBALS:一个包含了全部变量的全局组合数组。变量的洺字就是数组的键
于是我们在url上构造/?hello=GLOBALS,结果就直接出来了!根本不是爆破好吧!
我们可以看到第一种方法不好用了所以另辟他径!我们注意到flag.php,会不会答案就在这个里面呢而且”var_dump($a);”这个字符串是不是可以注入呢?明显是可以的!
然后这里面就必须讲一下一些小技巧!第一单引号双引号,反引号在bash中的作用!
(PS:反引号位 (`) 位于键盘的Tab键的上方、1键的左方注意与单引号(‘)位于Enter键的左方的区别。)
這里还收集了其他的姿势!payload如下:
首先我们看到题目的脚本
简易的分析可以知道生成几个SESSION变量其中time是计时的,nums是计数的当nums没有设置的时候会给一个初始化变量。需要在120s内完成遮掩一件事脚本用随机数跑出两位的字符串,你需要输入一个串前两位和随机生成的串相等而且输入串的MD5值的第5-9为必须为“0000”。这个时候全部匹配的话nums++在匹配后whoami被更新,但是它在页面中输出了我们可以知道!当nums在120s内完成10佽以上就可以得到flag。
那么问题来了真的是爆破的话我们需要跑出一个字典,分别记录26*26种开头对应满足条件的串.
然后我们就要用脚本链接目标网站了但是有一个问题,用python实现的时候要用requests中的requests.Session()而不可以直接urlopen,因为每一次这样打开相当于新的链接进入session是不会保存的!注意!
下面是实验成功代码(注意我这么写主要根据的字典的格式)
顺手分享一下现成的字典
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。