漏洞描述:  
  很多网站把密码放到数据库中,在登陆验证中用以下sql,(以asp为例)  
sql="select * from user where username='"&username&"'and pass='"& pass &'"  
  此时,您只要根据sql构造一个特殊的用户名和密码,如:ben' or '1'='1  
就可以进入本来你没有特权的页面。再来看看上面那个语句吧:  
sql="select * from user where username='"&username&"'and pass='"& pass&'"  
  此时,您只要根据sql构造一个特殊的用户名和密码,如:ben' or '1'='1  
这样,程序将会变成这样: sql="select*from username where username="&ben'or'1'=1&"and pass="&pass&"  
or 是一个逻辑运算符,作用是在判断两个条件的时候,只要其中一个条件成立,那么等式将会成立.而在语言中,是以1来代表真的(成  
立).那么在这行语句中,原语句的"and"验证将不再继续,而因为"1=1"和"or"令语句返回为真值.。  
  另外我们也可以构造以下的用户名:  
username='aa' or username<>'aa'  
pass='aa' or pass<>'aa'  
  相应的在浏览器端的用户名框内写入:aa' or username<>'aa 口令框内写入:aa' or pass<>'aa,注意这两个字符串两头是  
没有'的。这样就可以成功的骗过系统而进入。

  后一种方法理论虽然如此,但要实践是非常困难的,下面两个条件都必须具备。

  1. 你首先要能够准确的知道系统在表中是用哪两个字段存储用户名和口令的,只有这样你才能准确的构造出这个进攻性的字符  
串。实际上这是很难猜中的。  
  2.系统对你输入的字符串不进行有效性检查。

  问题解决和建议:

  对输入的内容验证和"'"号的处理。

本文转自loveme2351CTO博客,原文链接:http://blog.51cto.com/loveme23/8230 ,如需转载请自行联系原作者

ASP程序密码验证漏洞相关推荐

  1. java---某人在玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出),要求用程序实现密码验证的过程。

    题目: 某人在玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出),要求用程序实现密码验证的过程,要求如下: (1) 使用System.in包装为字符流读取键盘输入. (2) Buf ...

  2. .NET Core验证ASP.NET密码

    .NET Core验证ASP.NET密码 随着 .NETCore的持续更新和完善,越来越多的机构已经选择或者升级为 .NETCore.但由于技术不完全相同,不可能所有应用/数据库都能无缝迁移,因此 A ...

  3. java简单密码验证程序

    java简单密码验证程序 package demo01;import java.util.Scanner;/*** java模拟密码验证问题* 从键盘上录入6位密码,验证密码是不是6位,如果不是6位提 ...

  4. Java某人再玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出)要求用程序实现密码验证的过程。

    某人再玩游戏的时候输入密码123456后成功进入游戏(输错5次则被强行退出)要求用程序实现密码验证的过程.要求如下: 使用Sysytem.in包装为字符流读取键盘输入 BufferedReader对字 ...

  5. 长密码的php函数验证漏洞,TrendNet路由器登录信息泄露漏洞(CVE-2018-7034)分析实战...

    1.固件下载 下载需要分析的漏洞固件  TEW751DR_FW103B03 注意版本是1.03B03 2.解压bin文件 使用binwalk解压,提取的squashfs-root文件若为空,继续使用f ...

  6. Java密码验证合格程序

    密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度超2的子串重复 说明:长度超过2的子串 输入描述: 一组或多组长度超过2的子符串.每组占一行 输出 ...

  7. 小程序个人信息提交前关于姓名、手机号、车牌号、密码验证

    为了防止用户提交空表单信息及在input框中填写不符合规则的信息,需要我们前端提前处理一下信息验证是否合理 在这里插入代码片 //验证输入框姓名不能为空 var realName = this.dat ...

  8. openssl 签发sm2证书_首个NSA公开披露的软件系统漏洞——CVE20200601数字证书验证漏洞分析与实验...

    文/林璟锵 刘广祺 孟令佳 万会庆 王琼霄 王伟 王文杰 徐博文 中国科学院数据与通信保护研究教育中心 中国科学院信息工程研究所 信息安全国家重点实验室 1. CVE-2020-0601漏洞 2020 ...

  9. 浅谈ASP.NET Forms验证

    ASP.NET Forms验证 用户验证是每一个项目必须的一个模块,由于已经很久没有碰到这一块内容,今天写一个用户验证居然脑子一片空白.于是乎就和一个同事进行了一片讨论,晚上回家决定把讨论的结果给记录 ...

最新文章

  1. 简述Linux和Windows下Python搭建步骤
  2. git 撤销全部的commit_Git 撤销 Commit
  3. 概率论与数理统计-ch8-假设检验
  4. string类的各种函数用法
  5. asp.net中,%#%,%=%和%%分别是什么意思,有什么区别
  6. 【Flask模板】include标签
  7. EfficientDet 目标检测开源实现
  8. Ubuntu16.04上安装SU(Seismic Unix)的基本步骤
  9. AutoItLibrary安装和常见问题解决
  10. 快、准、狠!秒杀Excel的报表工具,十分钟教你做好数据填报
  11. node html响应头,nodejs 中http请求头,响应头
  12. nginx强制下载txt等文件
  13. 贝叶斯网络是神经网络吗,贝叶斯网络和神经网络
  14. 【数据库系统概论】数据库系统概述
  15. 2合1笔记本 android,华为二合一笔记本支持Android可能是鸡肋
  16. Windows 程序注册表常用键名——CurrentVersion
  17. 前端规范之Git工作流规范 Husky + lint-staged
  18. 统计考勤报表 oracle对多个列求和 sum() 函数
  19. 为什么那么多人中途都放弃了
  20. 学习Java软件编程哪个机构好

热门文章

  1. python虚拟环境安装和配置_Python3安装虚拟环境virtualenvwrapper和配置
  2. dedecms织梦仿麦站网模板源码下载站源码
  3. 打卡小程序源码修复登录接口
  4. 好看的导航网站源码-简约自适应网站网址导航系统
  5. 北京大学c语言试题及答案,北大网络教育(计算机专业)C程序设计作业答案
  6. EduSoHo精品在线教育点播系统网站源码
  7. Spring Boot开发框架优点诠释
  8. 通过IHttpHandlerFactory,过滤TextBox、Input和Textarea中的特殊字符
  9. Adaptive Images : 为不同的屏幕尺寸提供不同的图片
  10. jQuery教学-简单好用的视差滚动特效Parallax Effect