我们登录一个网站的时候会有账户名和密码都要输入进去。这样的方法禁止非法进入网站,它是这样构造SQL语句的,假设填写用户名为marcofly密码为test。因为根据我们提交的用户名和密码被合成到SQL查询语句当中之后是这样的: 

select * from users where username='marcofly' and password=md5('test') 
这样如果数据库不存在这样的字段就表示输入错误,无法登陆。正常情况下是如此,但是对于有SQL注入漏洞的网站来说,只要构造个特殊的“字符串”,照样能够成功登录。  比如我们填写用户名为zlq' or '1'='1' or '1'='1看看,这样后构造出的SQL语句为
 select * from users where username='zlq' or '1'='1' or '1'='1' and password=md5('test') //就是替换marcofly这个字符串,替换之后它是怎么执行的呢,先执行and部分,就是 '1'='1' and password=md5('test'),这个密码对不上是返回假,就是不正确,然后执行or,
 'zlq' or '1'='1'这个是或者的意思, 'zlq' 为真或者'1'='1'为真就正确,'1'='1'肯定为真的,所以正确,我们把代码缩小看看
('zlq' or '1'='1' )or ('1'='1' and password=md5('test')  ),这里给出逻辑'zlq' or '1'='1' 为真,'1'='1' and password=md5('test')为假,(真 )or (假),即为正确  。你测试要是有万能密码漏洞的页面都能成功,而且很多人用htmlspecialchars过滤也没效果,因为htmlspecialchars需要填写两一个参数才能过滤单引号,默认是不过滤单引号的,所以上面的注入100%成功。
         我们再输入' or 1=1#看看,把marcofly替换' or 1=1#,
 select * from users where username='' or 1=1#' and password=md5('test') 
 语义分析:“#”在mysql中是注释符,这样井号后面的内容将被mysql视为注释内容,这样就不会去执行了,换句话说,以下的两句sql语句等价: select * from users where username='' or 1=1
这样1=1永远为真,or那么执行成功 。
         现在我给出解决这个漏洞终极方案,保证天煞都无法入侵成功。是这样的,不知道前面看到没有,password=md5('test')就是说把密码经过MD5加密后再查询SQL,因为经过MD5加密后的字符串是32位的,那么经过加密后的都是一连串的像这样的ac59075b964b0715字符,是不可能办到去转换执行SQL语句的。我们经过改写SQL语句成这样:
  select * from users where username=md5('marcofly')  and password=md5('test') 
我们再次输入用户名为 zlq' or '1'='1' or '1'='1看看,执行的语句已经变为
   select * from users where username=‘6c92bfdc2da722a1’  and password=‘4621d373cade4e83’

看到了吧,无论你输入什么新型的SQL万能密码注入语句都行,都是转为一个MD5字符串。不要嫌弃经过MD5转换的效率,这里只用MD5加密过滤什么的都不用 ,其实企业中没有一个说嫌过滤牺牲性能的,如果真有这样的站长让我瞧瞧,让我膜拜一下。其实注入攻击难就难在参数性SQL注入,因为你不可能用MD5加密查询一个数据然后用MD5呈现给客户吧,如果有时间我再讲讲SQL注入的强大防御阵营。

SQL万能钥匙注入的终结版相关推荐

  1. sql注入:万能钥匙注入

    根据提示,这道题使用sql输入,题目中说已经使用过滤,但是我们还是要试试,看看是不是所有特殊字符都被过滤了, 如图,进行尝试之后,得到结果: 可知,引号没有被过滤.所以我们可以使用万能密码. 万能密码 ...

  2. WiFi万能钥匙破解显密码版。

    软件已解除限制 去G吿 安装打开后 没有任何复杂功能 操作非常简单 当然软件需要一定的权限 使用软件时 必须开启定位功能 然后看到有 免费连接 的字样 即可点击直接连接WIFI WiFi连接成功后 会 ...

  3. WIFI万能钥匙显密码版

    WIFI万能钥匙显密码版是无需ROOT的万能钥匙,同时这个版本做了一些精简和优化,,永不升级,但是不要随意连接各类WIFI. WIFI万能钥匙显密码版 [破解说明] 免root查看密码,支持一键复制 ...

  4. wlan万能钥匙电脑版 v1.0.4.7 官方版

    wlan万能钥匙电脑版 v1.0.4.7 官方版 软件大小:6.90MB 软件语言:简体中文 软件类别:网络其它 软件授权:官方版 应用平台:/Win8/Win7/WinXP 是一款能够破解wlan密 ...

  5. WIFI密码破解 WIFI万能钥匙 显示连接密码去除广告优化版

    WIFI密码破解 WIFI万能钥匙 显示连接密码去除广告优化版 ◎基于国内最新版(理论支持安卓P) ◎更换包名,不更新,不翻车,稳定好用 ◎全新显密,获取到的密码将在热点下方着色显示 ◎智能显密,没有 ...

  6. WIFI万能钥匙v4.3.10显密精简版 无需root 安卓10可用

    精选30+云产品,助力企业轻松上云!>>> WiFi万能钥匙相信大家都用过,但是官方版的广告太多 .这次找到了 安卓10能用的版本.无需root安装即可使用. https://n80 ...

  7. 安卓WIFI万能钥匙国际版V5.0.37 WIFI大师 显密码 精简版下载

    应用介绍: WiFi万能钥匙,海量安全wifi热点,无忧一键连接. 无论身处何地,只要打开WIFI万能钥匙,看到分享热点,点击连接即可放心安全上网. 下载 WIFI万能钥匙国际版 (访问密码:1112 ...

  8. WiFi万能钥匙电脑版官网下载地址

    WiFi万能钥匙电脑版下载 https://www.wifi.com/pcdl.html http://wifiapi02.51y5.net/wifiapi/rd.do?f=wk00003&b ...

  9. WIFI万能钥匙电脑版用不了怎么办

    近日,下载了WIFI万能钥匙电脑版用不了了,提示要按照手机比如android版本,然后连接手机. 然后老实的安装了android版本,启动后必须开启电话和位置信息,才可以获取到WIFI信息,但很多也都 ...

最新文章

  1. Java的synchronized关键字:同步机制总结
  2. 从古希腊神话说起,讲讲英语里的偏旁部首
  3. 视频+PPT | 企业服务进阶第一课:客户全生命周期运营总览
  4. matlab计算16 1 3近似值,8. 科学计算软件Matlab中默认情况下π为近似值3.1416,该近似值与π真值的( )...
  5. AC自动机 HDOJ 2222 Keywords Search
  6. 用延迟加载解决CNZZ加载慢的问题
  7. POJ3614 Sunscreen【贪心】
  8. Java Json xml 格式之间转换(一)
  9. 太极熊猫3服务器维护中,太极熊猫3月10日维护公告_瑞兽稀有技修改_蚕豆网新闻...
  10. 记一次很坑很坑的报错java.lang.Exception: The class is not public.
  11. 硬核拆台!宏彦获水,一脸懵逼:百度李彦宏遭当众泼水,一开始肇事者就在全程直播!!
  12. kubectl describe pod 里边没有看到events问题解决【详细步骤】
  13. chromium aura简介
  14. html自动轮播计时器不准,自己做的jQuery轮播图,大家帮忙看一下,能自动轮播,定时器,点击按钮不起用...
  15. 【软考-软件设计师精华知识点笔记】第十章 网络与信息安全
  16. 数据挖掘与分析——关联规则模型
  17. MySQL面试:为什么用自增列作为主键
  18. 迁移学习在乳腺癌检测中的应用
  19. 这届铲屎官不错,既舍得花钱,又会科学养猫养狗
  20. 地下水位监测系统-地下水超采综合治理

热门文章

  1. 教学管理系统问题描述和词汇表
  2. synthetic关键字和NBAC机制
  3. 头条--黑马头条_day08
  4. 【SharePoint】通过Microsoft Graph Rest Api操作SharePoint时如何获取SharePoint站点的WebID, SiteID and ListID
  5. CentOS Linux利用ntfs-3g挂载读写Windows的ntfs分区
  6. 第一章 - 新手入门 - 第二课 Arduino 简介
  7. 青龙面板-酷狗大字版
  8. 笔记本自带 WiFi 功能
  9. vi新建一个shell脚本_Linux Vim 编辑器编写 Shell 脚本
  10. 微信聊天记录备份到电脑上还是不能看