web漏洞-命令执行、文件上传、XSS
一、命令执行
1:什么是命令执行?
命令执行漏洞是指攻击者可以随意执行系统命令。属于高危漏洞之一任何脚本语言都可以调用操作系统命令。
应用有时需要调用一些执行系统命令的函数,举个例子如:PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命令
拼接到正常命令中,从而造成命令执行攻击,这就是命令执行漏洞。
针对命令执行漏洞的防护措施
1:回收非ROOT用户对文件的执行权限
2:禁止掉非法函数,如PHP下的某些危险函数
二、文件上传
1:什么是文件上传?
Web应用程序通常会有文件上传功能,发布图片、招聘网站上发布doc格式简历,只要web应用程序允许上传就有可能存在文件上传漏洞
2:文件上传危害
①通过文件上传webshell文件,对网站控制
②执行系统命令
3:文件上传流程
![](https://img2018.cnblogs.com/blog/1814649/201910/1814649-20191021220635097-950016742.png)
4:客户端验证流程
![](https://img2018.cnblogs.com/blog/1814649/201910/1814649-20191021220705456-1026257905.png)
5:MIME验证
MIME type的缩写为(Multipurpose Internet Mail Extensions)代表互联网媒体类型(Internet media type),MIME使用一个简单的字符串组成,最初是为了标识邮件Email附件的类型,在html文件中可以使用content-type属性表示,描述了文件类型的互联网标准。
MIME主类别:
text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的;
Multipart:用于连接消息体的多个部分构成一个消息,这些部分可以是不同类型的数据;
Application:用于传输应用程序数据或者二进制数据;
Message:用于包装一个E-mail消息;
Image:用于传输静态图片数据;
Audio:用于传输音频或者音声数据;
Video:用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。
![](https://img2018.cnblogs.com/blog/1814649/201910/1814649-20191021220730136-274757576.png)
6:文件上传类流程
7:怎么去防护文件上传漏洞?
①上传目录权限限制
②利用开源的杀毒软件
③开发人员在代码中设计md5加密文件名
三、XSS
1:什么叫XSS?
XSS又叫CSS(Cross Site Scripting),跨站脚本攻击,常见的Web漏洞之一,在2013年度OWASP TOP 10中排名第三。
XSS是指攻击者在网页中嵌入客户端脚本,通常是JS恶意代码,当用户使用浏览器访问被嵌入恶意代码网页时,就会在用户浏览器上执行。
2:XSS有什么危害?
①网络钓鱼
②窃取用户Cookies
③弹广告刷流量
④具备改页面信息
⑤删除文章
⑥获取客户端信息
⑦传播蠕虫
3:XSS的三种类型
①反射型:将恶意脚本附加到URL地址的参数中,只有当受害者点击这些链接的时候,才会触发恶意JS脚本,特点是只有在用户单机时触发,而且只执行一次。
![](https://img2018.cnblogs.com/blog/1814649/201910/1814649-20191021220821743-1865244595.png)
②存储型:黑客将恶意代码放到三方网站的数据库中,当受害者点击该网站后,该恶意代码就会在受害者的浏览器中执行。
![](https://img2018.cnblogs.com/blog/1814649/201910/1814649-20191021220846142-2139657038.png)
③DOM型:DOM型XSS并不需要服务器解析响应的直接参与触发XSS靠的是浏览器DOM解析
DOM型就是JavaScript中的Document对象HTML注入,直接浏览器处理。
4:常见的XSS防护方法
①与防护SQL注入类似
②HTTPONLY的方式
③采用CSP策略
记录每一天有趣的事情!!