web 安全基础及 Https:常见的 sql 注入,万能密码 x'or'1,万能用户名 x' or 1#,如果我们简单的把用户输入的信息获取到之后不进行处理的话,上面的 sql 注入会使用户无需密码和用户名的情况下登录,严重还会导致删除表信息。
- $name = $_POST['$name'];
- $password = $_POST['$pwd'];
- $sql = "select * from user_list where 'name'='$name' and pwd=$password"; //当$name=x" or "1的时候,假如不要密码$sql="select * from user_list where 'name'='x" or "1' and pwd=$password";//这段sql语句变成这样两段字符串中间为or,这样结果为true,执行起来也是正确的,那么用户可以轻易的进入,密码也是一样
对应其中的办法是密码加密 md5
用户名让单引号失效, 可以将其转义, 通常有 2 种
php 提供的 addslashes() 函数
mysql 扩展提供的 mysql_real_escape_string() 函数
p=admin&c=category&a=delete&cat_id=7 or 1 这样会全删除
需要将 id 后面的转为整形: 强制转换,(int) 变量, 使用 intval() 函数
隐士转换, 让其参与运算, 用 + 可以 + 0
- $cat_id=$_GET['cat_id']+0;
在 javascript 里边可以通过 encodeURIComponent () 对特殊符号等信息进行编码。
增加 sql 语句执行日志, 和 sql 相关的 sql 语句可以把他写到日志文件
HTTPS
1、HTTPS 的工作原理
HTTPS 在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。TLS/SSL 协议不仅仅是一套加密传输的协议,更是一件经过艺术家精心设计的艺术品,TLS/SSL 中使用了非对称加密,对称加密以及 HASH 算法。握手过程的具体描述如下:
1. 浏览器将自己支持的一套加密规则发送给网站。
2. 网站从中选出一组加密算法与 HASH 算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。
3. 浏览器获得网站证书之后浏览器要做以下工作验证证书的合法性. 颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等,如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并用证书中提供的公钥加密。使用约定好的 HASH 算法计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。
4. 网站接收浏览器发来的数据之后要做以下的操作: 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证 HASH 是否与浏览器发来的一致。使用密码加密一段握手消息,发送给浏览器。
5. 浏览器解密并计算握手消息的 HASH,如果与服务端发来的 HASH 一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密
非对称加密算法:RSA,DSA/DSS
对称加密算法:AES,RC4,3DES
HASH 算法:MD5,SHA1,SHA256
https 协议和 http 协议的区别:
1. https 协议需要到 ca 申请
2. http 传输的信息是明文的, https 传输的信息是经过 ssl 加密
3.http 和 https 使用的是完全不同的连接方式, 端口不一样, http 端口号 80,https 端口为 443.
4.http 连接简单, 是无状态的.
5.https 协议是有 ssl+http 协议构建的可进行加密传输 // 身份认证的网络协议, 比 http 协议安全.
需要到网上申请证书, 有公钥和秘钥, 公钥是用户需下载, 或者操作系统自带下好的, 没有证书浏览是不行的. 文件上传公钥加密, 服务器秘钥解密处理, 返回时再加密, 浏览器解密
Cmd 中输入 certmgr.msc 查看受信任的根证书, 证书, 可以看到一些证书
在 httpd.conf 开启 Include conf/extra/httpd-SSL.conf
LoadModule ssL-module —–
证书有公钥和秘钥以及可能还有证书链文件, 将证书复制到 Apache/conf/SSL/https 文件夹下
修改 httpd-SSL.conf 文件, 大致如下
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: