2.4.1 命令执行
什么是命令执行(高危漏洞之一)
命令执行漏洞是指攻击者可以随意执行系统命令。属于高危漏洞之一任何脚本语言都可以调用操作系统命令。
随意执行系统命令,不是系统漏洞,而是脚本语言导致的漏洞
应用有时需要调用一些执行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命令 拼接到正常命令中,从而造成命令执行攻击,这就是命令执行漏洞。
dvwa环境的一段代码
判断操作系统类型 Windows ping linux ping -c 4
dvwa 系统环境
docke run --rm -it -p 80:80 vulnerables/web-dvwa
系统第一次登陆需要配置数据库
默认配置的安全等级为最低级
command injection 里可以进行测试
搜索地址的时候,可以加入管道符,进行后续命令执行
127.0.0.1 && uname -a
2.3.1 文件上传
什么是文件上传(高危漏洞,直接漏洞)
Web应用程序通常会有文件上传功能,发布图片、招聘网站上发布doc格式简历,只要web应用程序允许上传就有可能存在文件上传漏洞
文件上传危害有多大?
可以直接上传一个脚本语言,上传webshell
文件上传的校验流程
流程图 1
客户机通过点击文件上传,通过http POST上传文件;客户端一般会进行一个验证,通过JS来判断上传的文件是否为合规文件(客户端检测不靠谱),然后发送到服务端,到服务端以后会进行一个验证
流程图 2
客户端验证
上传验证测试(客户端绕过上传方法)
编写一句话木马,定义后缀名为上传允许的后缀名
然后通过BURPSUITE 抓包,更改回原有的后缀名,再次访问图片的时候,就会变为一句话木马文件
然后通工具 打开图片地址连接。这个时候,就可以管理网站的目录以及操作一些命令
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:用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。
例子:
使用Burp截取上传数据包,修改Content-Type的值,改为image/gif即可成功绕过上传webshell
测试:
操作方式和客户端绕过一致
文件上传类
文件的上传目录设为不可执行 服务器上传文件检测是否为恶意文件 使用取随机文件名,可以是md5也可以是时间 这些都是开发需要时间的问题,我们只需要了解到文件上传的危害就足已了。
总结:
文件上传防护
文件上传目录的防护,可执行权限去掉;服务端通过杀毒软件,开源软件等,上传文件进行判断;上传以后进行MD5命名。
2.2.1 XSS介绍
什么是XSS
XSS又叫CSS(Cross Site Scripting),跨站脚本攻击,常见的Web漏洞之一,在2013年度OWASP TOP 10中排名第三。
XSS是指攻击者在网页中嵌入客户端脚本,通常是JS恶意代码,当用户使用浏览器访问被嵌入恶意代码网页时,就会在用户浏览器上执行。
案例: 比如邮箱账户密码,渗透到公司服务器,耗时,工程比较大,这时候可以通过XSS来进行;可以构造,网络钓鱼,在邮箱中找到反射型,或者找到其他的漏洞,通过构造有漏洞的邮件发送给对方,对方点击这个邮件时,就可以直接触发。
XSS有什么危害
网络钓鱼、窃取用户Cookies、弹广告刷流量、具备改页面信息、删除文章、获取客户端信息、传播蠕虫
XSS的三种类型
反射型
又称非持久型XSS,最容易出现的一种XSS漏洞。(构造的连接可能为一次性。)
主要用于将恶意脚本附加到URL地址的参数中,只有当受害者点击这些链接的时候,才会触发恶意js脚本,特点是只有在用户单击时触发,而且只执行一次。
流程原理图
存储型
存储会出现在留言板,评论;留言的信息会被存储在数据库中;在留言板或者评论中,存到数据库中;当受害者去访问的时候,就会被攻击
流程原理图
Dom 型
DOM型XSS并不需要服务器解析响应的直接参与触发XSS靠的是浏览器DOM解析
DOM型就是JavaScript中的Document对象HTML注入,直接浏览器处理。
常见的XSS防护方法
CDN隐藏真实IP地址 通过安全函数进行过滤 对数据库最小权限设置 服务器针对性的WAF防火墙
httponly
CSP内存安全策略