常见攻击方式与加密方式

    xiaoxiao2021-03-25  99

    明天要去百度钱包面试,整理出一些关于安全的一些东西.

    常见攻击方法

    sql 注入

    string 型SQL注入

    string 型sql注入一般是由对特殊字符过滤不严格导致的. NULL ’ ” \

    int型 sql 注入

    int 型sql注入 在数字后面加入其它关键字

    $res = "1 union select"; echo intval($res); // 1

    解决办法: 1.开启GPC 对 COOKIE, POST,GET 的值进行过滤; 2.可利用 addslashes() 函数 实现四种符号过滤( ’ ” \ NULL ); 3.可是用PDO prepare处理sql语句,通过预先编译,将sql模板与sql变量分两次发送给mysql,变量的转义处理由mysql来执行

    XSS 注入

    反射型XSS

    一般攻击者会将一个带有参数的URL进行伪装,诱惑你点击,当你点击后就会获得你的一些信息;

    存储型XSS

    最典型的例子是留言板,将带有特殊标签的代码插入你的数据库,当你读取的时候,代码就会执行;

    两者本质上并无区别

    解决办法

    1.将可执行的标签事件加入白名单中,并用正则表达式匹配,有则行,无责止. 2.可是用一些过滤脚本标签函数进行过滤;

    CSRF 攻击

    CSRF攻击的原理是基于web浏览器的隐式身份验证机制,可以确保是一个浏览器发出的,但确保不了用户批准与否.

    解决方案: 1.可在后台生成一串秘钥,提交表单时验证其一致性,true则过,false则止. 2.在敏感位置加入验证码 3.在加入一个验证cookie 提交的时候带如后台进行验证.

    常见加密方式

    mcrypt 扩展是 php加密支持库.开启后支持一些常见的算法跟模式(未深究)

    对称加密

    可凭借加密串对数据进行加密与解密,常见算法有 DES,3DES,RC2,RC4,RC5,AES等.

    非对称加密

    有私钥 与 公钥,加密解密使用不同的秘钥,创建算法RSA,加密解密速度相对较慢.

    单向加密

    常用的单向加密算法有MD5() 32位字符 sha1() 40位字符,相同的字符串产生的结果是一样的,为避免碰撞,建议添加salt.

    业务中的一些安全建设

    密码

    1.密码设置的尽量复杂, 2.MD5(密码)+salt

    后台地址隐藏.

    防止暴力破解

    服务器版本信息隐藏

    防止针对该服务器出现的漏洞攻击

    php版本的以藏

    防止针对该版本php漏洞进行攻击

    API站库分离

    单独跑一台API服务器,数据库只允许API服务器访问. 在API服务器上监控调频率.防止拖库

    第三方服务

    因为会执行比人的JS 尽量选择大厂

    转载请注明原文地址: https://ju.6miu.com/read-15775.html

    最新回复(0)