专栏首页用户4667108的专栏PHP渗透基础入门其一

PHP渗透基础入门其一

登录注入实例

提示:了解Mysql和php可能更容易理解 构造Mysql语句时利用一些方法使某些不应该返回的数据返回或者执行某种不该执行的命令 这个过程就叫注入 那我们来举个例子:

 $sql='select * from users where userName='$userName' and password='$password'; 

逻辑来源

代码逻辑(建议阅读)来自: https://blog.csdn.net/qq_39630587/article/details/79768838

假如我们想登录username为1的用户 我们应该怎么构建的sql语句??? 如下例子

 select * from users where userName=1 and password=正确密码 

   select * from users where userName=1

当然我们不知道正确密码我们可以试试第二种怎么实现(屏蔽 and password=xxx mysql怎么实现注释屏蔽那?? 答案就是#号就是注释号 # 后面的内容都被注释 yes!! 我们找到了 现在开始构造语句

 select * from users where userName=1 # and password=xxx 

这个语句等效于

  select * from users where userName=1 

那么我们怎么又不是去提交sql语句给后端 我们看看后端代码

    <?php include_once("function/database.php"); 

// $userName = $_POST['userName']; // $password = $_POST['password']; $userName = addslashes($_POST['userName']); $password = addslashes($_POST['password']); getConnect(); $loginSQL = "select * from users where userName='$userName' and password='$password'"; ..... (省略 )我们提交的账户就是变量 userName 密码就是变量 password 但是这里使用addslashes函数(函数过滤了 单引号(’)双引号(")反斜杠()) 呵???这就刚刚好没屏蔽#号我们你像推理可以得出 账户应该是 1 密码可以随便填(因为被#号注释了 导致这个逻辑始终成立

加强方案

1.替换参数各种敏感字符(# ’ or and 等) 仅仅用addslashes函数是不安全的 保证参数的安全

2.使用pdo分两次发生sql语句 99.9%的安全 其中不安全原因来自于配置问题进行编码边缘操作 提示

现在程序的php sql注入几率很小,加上如果使用pdo 就基本不可能了

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 网页状态监测项目_Nokpage

    最近网站从腾讯云搬迁到某跑路又移动了Horain(某云),最近时常的502 500,但是我又不一定一直盯着我的网站,于是我百度了一圈网页监测源码,2015年的源...

    乔千
  • Linux常用命令(一)

    cd /demo/set 表示切换到/demo/set路径下。 cd logs 表示切换到logs路径下。 cd / 表示切换到根目录。 cd ../ 表示切换...

    乔千
  • 网易云api解析音乐直链

    该方法非常简单 直链通过一个api获取如果需要用于实际网页中就可能出现跨域问题。 为了避免我们可以使用反代。 比如某第三方 api:https://bird.i...

    乔千
  • PHP渗透基础入门其一

    利用一些方法使某些不应该返回的数据返回或者执行某种不该执行的命令,这个过程就叫注入,这里有个很简单的事例

    月萌
  • Mssql高级注入笔记

    暴库特殊技巧::%5c='\' 或者把/和\ 修改%5提交 and 0<>(select count(*) from master.dbo.sysdatabas...

    赵腰静
  • python in 与 not in 用法及运算符

    python 中,in 与 not in 是用来作为逻辑判断的另一种方式。(与linux 的grep 命令有一定类似)

    于小勇
  • nextcloud-onlyoffice-反向代理https错误排查

    本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/reverse_proxy_https_debug/

    羽翰尘
  • onlyoffice 反向代理实现https错误排查

    使用三台机器搭建nextcloud + onlyoffice: 树莓派:反向代理 蜗牛星际:nextcloud 淘汰笔记本:onlyoffice

    羽翰尘
  • 我对"大前端"的偏见

    写这篇也是忐忐忑忑,一个后端聊前端的话题,总显得那么不专业,见识所限,仅供参考。此文的来由也是由前篇文章引申出来的,详见前端工程化的个人思考+前端工程化的个人思...

    歪脖贰点零
  • 科普基础 | 这可能是最全的SQL注入总结,不来看看吗

    2.ACCESS没有库名,只有表和字段,并且注入时,后面必须跟表名,ACCESS没有注释

    HACK学习

扫码关注云+社区

领取腾讯云代金券