php密码注入,php防止sql注入之万能密码以及防范
说什么叫sql注入呢?
就是在登录、注册、input中输入一些影响sql语句的代码
导致你的sql语句出现问题,比如说这个问题:
select * from web_manage where username='xxx' and pass='ddd' or '1'
所有的sql注入或攻击就是破坏原有的sql语句,然后执行or 这样就可以得到数据了,犹如上面截图所示。
万能用户名看看是怎么回事:
我们还是以登录为准
select * from web_manage where username='xiaosong' and pass=md5("123") limit 1;
这是正确的一个sql语句,那么如何通过注入呢? # 这就可以防止后面的代码执行
看看这句代码
xiaosong 像这样的内容都是 input来的,我们需要对这些数据进行转义
以下这两种方式都可以防止:
addslashes()
mysql_real_escape_string()
就是在收集数据的时候,把内容转义。
select * from web_manage where username='xiao\'song or 1 #' and islogin =1 \G;
再说一点就是删除
delete from web_manage where id =1 or 1
这句话就把所有的数据全部删除了
因为加了or
php代码
id= 1 or 1
$id=$_GET['id'];
$sql="delete from web_manage where id = $id " ;
就是这样一拼接就玩完了:
delete from web_manage where id =1 or 1
全部删除了,
那么有什么解决方案呢:
把id转换成 数字类型
1、intval
2、让他参与运算,隐士转换成数字。
就是这样就可以防范 id 的delete方法。
XSS攻击
Xss:Cross site Script 攻击
通过动态的代码,插入css、js代码,进行攻击
就是没有将这些代码实体输出,比如在input中输入了
通过这文化函数进行转义保存,把< > 转义成 > < 这样的字符保存
htmlspecialchars()
htmlentites() 反转义 转回实体
strip_tags() 去掉html标签和php标签
这样的代码如果你没有 htmlentites() 实体转义 就会造成页面混乱。
php密码注入,php防止sql注入之万能密码以及防范相关推荐
- java 防止sql注入_Java中SQL注入以及如何轻松防止它
java 防止sql注入 什么是SQL注入? (What is SQL Injection?) SQL Injection is one of the top 10 web application v ...
- JDBC模拟SQL注入和避免SQL注入
模拟用户登录 用户名:fdsa 密码:fdsa' or '1'='1 select * from t_user where login_name='fdsa' and login_pwd='fdsa' ...
- mysql 手工sql注入_【sql注入专题02】Mysql手工注入流程
0x00 SQL注入的语句介绍 SQL注入的本质 sql注入的本质就是查询某个数据库下的某个表中的某些字段的内容,比如我们平时在数据库查询一条数据时操作. mysql> use security ...
- Sql注入-1:sql注入基本原理
目录 前言 一.SQL注入介绍 二.学习环境介绍 三.SQL注入原理 总结 前言 在网络安全领域中,sql注入是一个无法被忽视的关键点,曾经多少的网站都因此被攻破,直到现在很多网站依旧存在很多sql注 ...
- OWASP TOP 10(2021)之注入漏洞(SQL注入和XSS注入)
目录 一.SQL注入 1. 漏洞概述及原理 2. 漏洞可能造成的危害 3. 漏洞防范 4. SQL注入的分类与检测 5. 从攻击者的角度,如何绕过SQL注入防范呢? (1)对于关键字的绕过 (2)缓冲 ...
- 【网络安全入门】SQL注入是什么?SQL注入危害有哪些?
SQL注入是当今最危险.最普遍的基于Web的攻击方式之一,那么你知道SQL注入危害有哪些吗?SQL注入的位置包括什么?具体内容请看下文: SQL注入是什么? SQL注入是比较常见的网络攻击方式之一,主 ...
- Mybatis-plus sql注入以及防止sql注入
Mybatis-plus sql注入 以及防止sql注入 一.SQL注入是什么? SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的SQL语句中来改变查询结果,例如: ...
- 【sql注入教程】SQL注入是什么?我们如何去玩转它
[sql注入教程]SQL注入是什么?我们如何去玩转它 本文转自:i春秋社区 SQL注入攻击是黑客攻击数据库最常见手段之一.简单讲,SQL注入攻击是黑客利用网站程序漏洞,通过提交精心构造的SQL语句 ...
- php万能注入密码,php下的SQL注入万能用户名和密码
1.针对有单引号的情况 : 万能密码 : select * from users where username='xxxx' and password='xxxxxx' or 1='1'; 万能用户名 ...
最新文章
- 写入usb设备 linux 程序,模拟物理USB设备Linux
- Linux CentOS 6.x设置静态IP(亲测有效)
- Python应用实战-用pandas实现数据预处理
- android studio管理依赖,Android Studio 中的 Gradle 依赖统一管理
- 【less-5】基于SQLI的SQL盲注常用函数
- python基础教程-学习python有什么好的视频教程?
- VS 配置Directx
- 解决post提交时参数的中文乱码问题
- 格力如失去经销商支持,或将进一步落后于美的,董明珠慌了么?
- Android UI绘制流程源码详细讲解Draw(Canvas canvas)
- 王强 河南大学计算机学院,王强-河南大学生命科学学院
- java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
- Hive学习(待续)
- 树莓派用python实现wifi认证过期重连
- 「JavaSE」- 常用类
- 5-11 java scaner
- linux 使用pip安装出现错误
- [原]删除dboy病毒
- 分布式之BASE理论
- 读书笔记 - 《完美关系的秘密》