首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
Web开发
> 详细
Web安全
时间:
2019-09-28 17:49:36
阅读:
122
评论:
0
收藏:
0
[点我收藏+]
标签:
scanf
scan
存储过程
随机数
引用
base
函数
通过
内存越界
sql注入
代码直接用参数拼接sql,导致和union、=等恶意sql拼接成为非法sql,导致返回敏感数据或者返回成功
措施
参数进行base64编码
参数化查询
使用存储过程
stack overflow
C、C++中,可以通过指针、scanf等内存操作直接操作内存,因此如果不做参数检查,就有可能导致输入的数据越界,如果估计拼接后续参数内容为系统命令并修改了函数返回指针到他的代码/命令段等,就可能执行这些命令或程序,如和黑客的服务器建立ssh连接,进行进一步的破坏。
Java、C#等语言不会有这种问题,如果因为引用其他库导致了内存越界,会直接报异常。
XSS攻击
用户参数数据传入js脚本,存到数据库中,下次取到页面上时有可能就直接执行脚本了
对于CMS等系统中的富文本编辑器比较麻烦,不确定哪些是合法的,哪些是不合法的
措施
入参进行html编码
用csp可以阻挡一部分负面效果,如访问其他站点
不要用整型做true、false的判断,有时自己都会搞乱,C、C++中会把0以外的都成true,如果你不小心返回了-1,后面的判断中就有可能把它也当成true了。。。
登录等密码相关的接口,要限制访问频率,避免暴力破解
用户退出登录再重新登录时,如果cookie中有旧的session id,那么不能延用,最好重新生成一个guid或者带时间随机数的
这样的话,黑客即使拿到session id,最多也就在过期之前用一用,不然的话,用户下次又登录而session id不变的话,会导致黑客又能干坏事了。
禁用没必要的端口
打程序包时不要把没用的甚至敏感的文件也打进去
使用新的程序包时要做检验看是不是合法的包
措施
出build打包时用公司私钥签名,然后在用新包升级时用公钥做检验
代码中用定制的hash等算法,然后每次上传更新包时要把用这个特定的算法算出来的hash值一起传上来,然后程序中再算一遍,做对比
其实也不是很安全,因为反编译可以猜出算法及其使用的key,只不过这个key和算法不好找
如果是嵌入式系统使用SQLite等嵌入的数据库,那么数据库的密码最好不要明文放到代码或者配置文件中,会被反编译出来。可以考虑前面类似的方法。当然也只是提高了难度,黑客要去找和理解算法、key。
Web安全
标签:
scanf
scan
存储过程
随机数
引用
base
函数
通过
内存越界
原文地址:https://www.cnblogs.com/wyp1988/p/11603857.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
36.VUE — 认识 Webpack 和 安装
2021-07-28
【PHP】上传图片翻转问题
2021-07-28
php对数字进行万。亿的转化
2021-07-28
五个 .NET 性能小贴士
2021-07-28
Three.js中显示坐标轴、平面、球体、四方体
2021-07-28
.net 5+ 知新:【1】 .Net 5 基本概念和开发环境搭建
2021-07-27
1.html,css
2021-07-27
基于Docker搭建 Php-fpm + Nginx 环境
2021-07-27
nginx + http + svn
2021-07-27
kubernets kube-proxy的代理 iptables和ipvs
2021-07-26
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!