常见web漏洞修复方法
方法如下:
漏洞修复。(输入过滤,输出转义)
1、在连接数据库时,在接收参数后进行转义,$id = mysql_real_escape_string($id);
2、在网页源码中在接收参数后可用htmlspecialchars(变量名);转义特别的字符为HTML实体。(xss)
3、$result =mysqi_query($sql);不打印错误描述,即使存在注入,也不好判断。$sql为查询语句
4、if(is_numeric($id)){}else{} 判断提交的是否是数字
5、使用unset($_session[‘token’]);,销毁变量,刷新session会话,防暴力破解。
6、使用过滤(黑名单):str_replace(“%”,””,$_POST[‘username’]); 替换’ “ = 等特殊符号。
7、正则表达式:var xss=str.replace(/\=/g,’’); 使用=+等特殊字符,前要用转义符号\,g代表字符串中全部替换。
8、If Stristr(“hello word”,”WORD”); 在前一个字符串中查找后面的字符串,不区分大小写,stristr 中的i,去掉就区分大小写。
例:if(strist($_GET[‘message’]),’http’)==false{}else{}
9、文件上传:
a、限制上传文件大小、格式、后缀名等。
b、对上传文件不返回路径,并且有规则的重命名。
c、对上传文件所在目录进行权限限制(禁止执行)。
10、修复xxe
删除语句中LIBXML_NOENT 意为关闭外部实体解析
例:$data = @simplexml_load_string($xml,'SimpleXMLElement',LIBXML_NOENT); 有红函数里面改。
以上修复是基于网页源代码修复,如有不当之处请多多指教!!!
本人在网络、运维、网页渗透、linux、windows软硬件,均有建树,后期会不断和大家分享学习资料、选择方向和方法技巧,并且也会在不断地学习中,将积累的经验分享出来,敬请期待!!!!
最新文章
- Linux-磁盘管理小结
- PHP Error 和 Logging 函数
- Vs 引用第三方DLL文件 版本不一致问题 (npoi与memcached中的ICSharpCode.SharpZipLib版本冲突的解决方案)
- 我最喜欢的visual studio 2013的新特性
- 浅谈初次搭建nginx+php+mysql遇到的问题
- Winform - 判断GroupBox控件中的TextBox文本框是不是为空
- Java中新建子文件夹和新建文件
- 2017多校第10场 HDU 6171 Admiral 双向BFS或者A*搜索
- 无废话XML--XML解析(DOM和SAX)
- SpringBoot更改HttpMessageConverters使用FastJson出现乱码问题
- Ajax及jQuery学习
- settings 配置 + 测试环境搭建
- 基于Https协议返回Jason字符串
- LeetCode算法题-Repeated Substring Pattern(Java实现)
- FastJson、Jackson、Gson进行Java对象转换Json细节处理
- WTF小程序之<;web-view>;
- osx安装启动mysql
- “全栈2019”Java第一百一十章:局部内部类与匿名内部类区别详解
- linux命令(13):kill/killall命令
- SET 语句积累