加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – iptables captive portal删除用户

发布时间:2020-12-14 03:04:36 所属栏目:Linux 来源:网络整理
导读:我按照本指南: http://aryo.info/labs/captive-portal-using-php-and-iptables.html 我正在使用iptables实现强制门户.我在linux路由器上设置了web服务器和iptables,一切正常. 我可以允许用户访问互联网 sudo iptables -I internet -t mangle -m mac --mac-s
我按照本指南: http://aryo.info/labs/captive-portal-using-php-and-iptables.html

我正在使用iptables实现强制门户.我在linux路由器上设置了web服务器和iptables,一切正常.

我可以允许用户访问互联网

sudo iptables -I internet -t mangle -m mac --mac-source USER_MAC_ADDRESS -j RETURN

我可以删除访问权限

sudo iptables -D internet -t mangle -m mac --mac-source USER_MAC_ADDRESS -j RETURN

但是,在删除时,用户仍可以多次打开上次查看的页面(如果他重新启动以太网适配器,将来的连接将被关闭).在博客页面上我找到了一个脚本

/usr/sbin/conntrack -L 
    |grep $1 
    |grep ESTAB 
    |grep 'dport=80' 
    |awk 
        "{ system("conntrack -D --orig-src $1 --orig-dst " 
            substr($6,5) " -p tcp --orig-port-src " substr($7,7) " 
            --orig-port-dst 80"); }"

哪个应该删除它们的“重定向”连接轨道,因为它是编写的,但是当我执行该脚本时,没有任何反应 – 用户仍然可以访问该页面.

当我执行/usr/sbin / conntrack -L |时执行脚本后grep USER_IP我没有返回任何内容,所以我的问题:还有什么可以帮我清理这些轨道吗?显然 – 我不能重置也不能用,也不能用户网络适配器.

更新:

为了避免潜在的误解 – 上面的命令是我在我的机器上执行的原始命令,因此PHP的exec()和类似的不是这种行为的原因.所有命令都执行良好 – 因为删除用户无法访问除他正在浏览的最后一个站点之外的任何其他网站.

解决方法

为了回答你的问题,我会检查shell_exec和exec调用是否按预期运行,并且它们不会因安全性而被禁用,而这种情况经常发生.

警告你

$_POST [‘ip’]和$_POST [‘mac’]输入未经过清理,并被直接传递到process.php中的exec()函数中;

攻击者可以启动curl下载一个php shell并后门访问该站点;在正在运行的用户权限范围内运行任何命令;垃圾整个目录和网络等;请确保您完全审核您在系统上放置的任何代码;在启用exec / shell_exec函数之前.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读