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

济南建设工程交易中心网站口碑好的福州网站建设

济南建设工程交易中心网站,口碑好的福州网站建设,怎么用虚拟机做网站,烟台专业的网站建站公司预备知识 WAF:WEB攻击一直是黑客攻击的主流手段,WAF作为网站安全基础设施的标配。Web Application Firewall,Web应用防火墙,通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的产品。 Nginx:Nginx 是…

预备知识
WAF:WEB攻击一直是黑客攻击的主流手段,WAF作为网站安全基础设施的标配。Web Application Firewall,Web应用防火墙,通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的产品。  

Nginx:Nginx 是一个高性能的HTTP和反向代理服务器,其特点是占有内存少,并发能力强。 

Lua:Lua是一个小巧的脚本语言,由标准C编写而成,几乎在所有操作系统和平台上都可以编译运行。Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。 

OpenResty:Nginx开发主要是以C/C++模块的形式进行,整体学习和开发成本偏高。如果有一种简单的语言来实现Web应用的开发,那么Nginx绝对是把瑞士军刀;目前市面上用的非常成熟的扩展是由章亦春将Lua和Nginx粘合的ngx_lua模块,并将Nginx核心、LuaJIT、ngx_lua模块、许多有用的Lua库和常用的第三方Nginx模块组合在一起成为OpenResty。这样开发人员就可以安装OpenResty,使用Lua编写脚本,然后部署到Nginx Web容器中运行。从而非常轻松就能开发出高性能的Web服务。

参考资料

OpenResty官方文档 https://openresty.org/en/

实验目的
1)本实验通过搭建一个包含SQL注入漏洞的网站,在无WAF的情况下模拟进行渗透测试,获得flag(包含英文、符号等不超过15位) 

2) 使用自制的WAF进行防御,读者可以查看、修改规则,使其直观感受基于规则的WAF的工作原理和防御机制。

3) 分析相关防御规则,尝试使用其他方法进行WAF绕过,使读者感受攻防双方的博弈过程。

实验环境
Ubuntu 64bit、IP地址:10.1.1.47

网络拓扑:如下图,Nginx作为前端反向代理,监听80端口,并可使用ngx_lua对流量进行过滤。后端目标web使用Apache作为Web容器,并使用php构建一个简易的Web。 

大致流程:用户访问目标地址,Nginx反向代理接受请求,Ngx_lua模块将流量过滤后,将请求发送给后端web,后端web处理后将结果返回给Nginx,Nginx返回给用户。

说明:事实上,目前流行的云WAF主要也是基于反向代理,通过域名解析将访问流量引入云端进行过滤,之后云端访问众多需要保护的Web站点,并将结果返回给用户。云WAF往往和后端众多受保护的WEB服务身处不同服务器,并且后端服务一般不能直接访问。本实验为了方便读者实验和操作,便将WAF和后端Web放置同一台服务器,并将后端Web的默认端口80修改为8080来实现,请读者知悉。

所用软件:firefox、hackbar插件、python

实验步骤一
首先关闭WAF的防御功能(默认为关闭状态),使用firefox浏览器,对目标web进行查看渗透,获得flag。

1.   实验环境准备

安装firefox

安装配置好openresty,使用ngx_lua模块制作基于规则的WAF,修改nginx配置文件,配置其为后台web进行反向代理

2.   查看、修改WAF配置(文件位置在/usr/local/openresty/nginx/conf/waf/config.lua),关闭防御(默认为关闭状态,此步骤无需进行)

3.   使用firefox进行渗透测试,通过单引号截断sql查询语句:

http://127.0.0.1/index.php?id=1' and 1=1 %23

4.   可以利用and 1=2进行union注入,获取注入结果回显。

http://127.0.0.1/index.php?id=1' and 1=2 union select 1,2 %23

5.   2的位置可以回显,接下来猜测表名,当from flag的时候可以正常回显:

http://127.0.0.1/index.php?id=1' and 1=2 union select 1,2 from flag %23

6.   表名错误的话则查询不到数据:

      http://127.0.0.1/index.php?id=1' and 1=2 union select 1,2 from flag222 %23

7.   列名类似,最终的poc为:http://127.0.0.1/index.php?id=1' and 1=2 union select 1,flag from flag %23

8.   得到flag为:SQLi so easy!

实验步骤二
任务描述:打开WAF的防御功能,使用firefox浏览器对目标web进行渗透尝试


1.   开启WAF防御功能,修改/usr/local/openresty/nginx/conf/waf/config.lua文件,将off修改为on

2.   重新加载nginx,命令为nginx -s reload,使得WAF配置修改生效

3.   使用上述成功的poc进行注入尝试,发现此时的注入攻击已经被WAF拦截

4.查看WAF的过滤规则,文件在/usr/local/openresty/nginx/conf/waf/rule-config/目录下的args.rule文件,打开后文件内容为

5.可以看出上述注入攻击poc,http://127.0.0.1/index.php?id=1' and 1=2 union select 1,flag from flag %23 触发了如下图的过滤规则



实验步骤三
任务描述:分析WAF规则,思考如何对上述防御进行绕过


1.   可以发现相关防御规则只是对某些关键词(如select和from、union和select等)联合使用进行规则匹配,如果匹配成功,则进行拦截。

2.   而上述攻击poc触发了相关的union+select的规则,http://127.0.0.1/index.php?id=1' and 1=2 union select 1,flag from flag %23,而且关键词并没有对忽略大小写,因此可以尝试替换关键词的大小写进行绕过:

3.   如果WAF对关键词大小写进行忽略,还可以考虑使用Bool型盲注:

通过substr取出第一位然后用ascii码判断,可以得到第一位的ascii码为102,即’f’,并且没有触发任何WAF规则,成功获得回显。

http://127.0.0.1/index.php?id=1' && Exists(Select flag from flag where ascii(substr(flag,1,1))=102) %23

4.   而如果判断不对,则没有回显。

5.   因此可以通过盲注脚本,根据页面的回显对每一位字符进行猜测,从而也可攻击成功,获得flag。可直接运行python poc.py命令进行盲注。(poc.py位于桌面)

实验截图: 

 

 

 poc.py如下

 

http://www.15wanjia.com/news/188332.html

相关文章:

  • 带孩子做网站WordPress邮件代发
  • 网站群建设管理规定网络制作网站
  • 微信网站建设公司费用湖北公司网站备案严格吗
  • 万网 填写网站备案信息做网站公司 营销
  • 小说网站的里面的搜索是怎么做的node.js wordpress
  • 建站之星怎么收费做网站的投入
  • 驻马店网站开发公司电话配置网站开发环境
  • 网站关键词如何选取网络营销推广的八大核心
  • php中英双语农业公司网站源码北京网站设计入门
  • 做一个公司网站流程 由ui设计购买海外商品的平台
  • 江西住房和城乡建设网站建设银行网站每天几点更新
  • 做性的网站有哪些wordpress 问答主题
  • 大型门户网站建设是什么网站seo优化推推蛙
  • 张店网站建设定制灵台县门户网
  • 网站建设的流程是什么企业邮箱怎么写
  • 网站开发最新教程网站建设怎么做平台开发
  • 如何推广公司新网站seo方法
  • 网站建设后期费用如何运用链接推广网站
  • 网站做快捷方式在哪里学广告设计培训
  • 怎么建网站 手机版访问紧急升级中通知问升级
  • 广州网站建设gzqiyi淮安做网站需要多少钱
  • 济南建设网站 概况网站开发会遇到哪些问题
  • 学做热干面网站计算机网络是干什么的
  • 工作计划及目标抖音seo排名优化公司
  • 网站建设容易吗建湖做网站哪家好
  • 个人网站做哪种能赚钱被网络运营公司骗了去哪里投诉
  • 网站前后台模板高端网站建设赣州
  • 中国电力建设集团股份有限公司网站沧县住房和城乡建设局网站
  • 装修公司网站模板网站加入地图
  • 重庆响应式网站方案手机网站建设 jz.woonl