本期内容
1.了解什么是安全测试
2.哪一些是安全问题
3.测试的用例(持续跟新)
前言
安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程。它一般是在产品开发基本完成到发布阶段才会去做的一件事情,这是一个普遍现象,但其实安全应该提前到更早,在设计阶段就应该把安全考虑进去,在设计的时候就验证产品的安全等级是什么样子,在最终实现的过程中再去一步步检验安全是不是达到了设计的标准。
提升IT产品的安全质量;
尽量在发布前找到安全问题予以修补降低成本 ;
度量安全。
验证安装在系统内的保护机制能否在实际应用中对系统进行保护,使之不被非法入侵,不受各种因素的干扰。
静态代码检查主要是通过代码走读的方式对源代码的安全性进行测试,常用的代码检查方法有数据流、控制流、信息流等,通过这些测试方法与安全规则库进行匹配,进而发现潜在的安全漏洞。静态代码检查方法主要是在编码阶段进行测试,尽可能早地发现安全性问题。
动态渗透测试法主要是借助工具或手工来模拟黑客的输入,对应用程序进行安全性测试,进而发现系统中的安全性问题。动态渗透测试一般在系统测试阶段进行,但覆盖率较低,因为在测试过程中很难覆盖到所有的可能性,只能是尽量提供更多的测试数据来达到较高的覆盖率。
系统的安全性强调,在程序运行过程中数据必须是安全的,不能遭到破坏,否则会导致缓冲区溢出的攻击。数据扫描主要是对内存进行测试,尽量发现诸如缓冲区溢出之类的漏洞,这也是静态代码检查和动态渗透测试很难测试到的。
跨站脚本
❖ cross-site scripting
这里我选择的是链接: juice shop
因为是内部搭建的网站 可能会换端口 建议大家用docker自行搭建
第一个是XSS攻击
<iframe src="javascript:alert(`xss`)">
第二个是使用音乐软件的外部播放 进行攻击
随便搜索一个播放器 博主选择的网易云
进入网易云 搜索音乐 点击生成外部链接
点进去之后 下面会出现代码 复制下来 放到 咱们的搜索框里 回车执行
管理员登录 可以使用sql注入的方式
用户名 ‘ or 0=0 –
密码随意
点击商品添加到购物并点击结算车 这里就不截图啦
点击账户 选择订单和付款方式 然后点击查看历史订单 再点击后面的小车
用postman获取查看订单的网页
如果有不会postman的博主有详细教程链接: postman
把get换成post
再在body里 id填入进行攻击
()这个里面随意填写
如果获取到的网页没有body体就 再原页面 F12 复制body到postman里
然后点击send执行就可以了
get改成post body体里 填入
{
"name":"xss",
"description":",
"price":1.99
}
名字随意
上方的url清楚到博主的位置 点击执行 就可以看到 你原来商品以及被改啦
里面的邮箱换成
然后在测试页面url
后 输入administration 进入管理员管理 记住 要进入此页面 先用管理员登陆
进去之后 找到你修改的用户 就可以看到啦
经过4的修改 5也是非常简单的
在左边下拉栏里的反馈 我们先输入内容进行反馈抓包
在 body里的 name后 修改为
<<script>Foo</script>iframe src="javascript:alert(`xss`)">
点击send提交
修改图片
1. 使用任何用户登录并转到高级会员
博主使用的sql注入方式登陆的
’ or 0=0 –
2. 右键单击并检查带有 Juice Shop 徽标的送货箱的图像。五个 assets/public/images/JuiceShop_Logo.png以不同的大小和位置加载到 SVG 图形上。
前后找到application.logogetApplicationConfiguration(),testDecal!开发人员似乎使用它来测试 SVG 上的叠加图像,但在上线之前忘记将其删除!啊!
尝试该testDecal参数,例如通过访问 http://localhost:3000/#/deluxe-membership?testDecal=test。您会注意到盒子上的徽标现在已经消失或显示损坏的图像符号。
替换图片链接
?testDecal=…/…/…/…/redirect?to=https://placekitten.com/g/400/500?x=https://github.com/bkimminich/juice-shop
to=是你的图片链接
1. 从导航栏中的GitHub按钮中选择应用程序中的一个重定向链接,例如 http://114.116.97.187:8001/redirect?to=https://github.com/bkimminich/juice-shop
2. http://114.116.97.187:8001/redirect?to=https://cn.bing.com 报406 Error: Unrecognized target URL for redirect.
3. http://114.116.97.187:8001/redirect/ 报500 TypeError: Cannot read property of undefined (reading ‘includes’) 白名单(isRedirectAllowed)
4. 制作一个重定向 URL,以便目标 URLto带有一个包含来自允许列表的 URL 的自己的参数,例如http://114.116.97.187:8002/redirect?to=http://kimminich.de?pwned=https://github.com/bkimminich/juice-shop
5. https://bkimminich.github.io/?pwned=https://github.com/bkimminich/juice-shop
你们自己写 一个从juiceshop网站跳转到bing,taobao的
http://114.116.97.187:8002/redirect?to=https://uland.taobao.com/sem/tbsearch?refpid=https://github.com/bkimminich/juice-shop
修改他跳转的网页 也就是白名单
http://114.116.97.187:8002/redirect?to=https://search.bilibili.com/all?keyword=https://github.com/bkimminich/juice-shop
最后结果