xss

跨站脚本攻击

冷暖自知 提交于 2020-01-18 04:26:26
背景 现在的网站包含大量的动态内容以提高用户体验,比过去要复杂得多。所谓动态内容,就是根据用户环境和需要,Web应用程序能够输出相应的内容。动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成 XSS)的威胁,而静态站点则完全不受其影响。这篇FAQ将使你能更深入地理解这种威胁,并给出如何检测并防止的建议。 简介 跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取信息。用户在浏览网站、使用即时通讯软件、甚至在阅读电子邮件时,通常会点击其中的链接。攻击者通过在链接中插入恶意代码,就能够盗取用户信息。攻击者通常会用十六进制(或其他编码方式)将链接编码,以免用户怀疑它的合法性。网站在接收到包含恶意代码的请求之后会产成一个包含恶意代码的页面,而这个页面看起来就像是那个网站应当生成的合法页面一样。许多流行的留言本和论坛程序允许用户发表包含HTML和javascript的帖子。假设用户甲发表了一篇包含恶意脚本的帖子,那么用户乙在浏览这篇帖子时,恶意脚本就会执行,盗取用户乙的session信息。有关攻击方法的详细情况将在下面阐述。 XSS和CSS 人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆

CTF XSS

淺唱寂寞╮ 提交于 2020-01-17 21:28:55
CTF XSS 这一块接触的不多,这次先当搬运工,之后慢慢补上自己的东西 渗透流程 参考 XSS备忘录 fuzz "'<script javascript onload src><a href></a>#$%^ '";!-=#$%^&{()}<script javascript data onload href src img input><a href></a>alert(String.fromCharCode(88,83,83));prompt(1);confirm(1)</script> 绕过 标签之间 先闭合标签 JS标签内 空格被过滤: /**/ 输出注释中:换行符 %0a``%0d 字符串中 闭合引号、宽字节 文本属性中 把所有的payload转为HTML Markup,其实就是&#加ascii码 src/href/action/xlink:href/autofocus/content/data 等属性直接使用伪协议绕过 <a href=javascript:alert(2)>test</a> <a href=data:text/html;base64,PHNjcmlwdD5hbGVydCgzKTwvc2NyaXB0Pg==>test</a> //<script>alert(3)</script> <svg><a xlink:href="javascript:alert

CSRF实战靶场 --致谢大哥

假装没事ソ 提交于 2020-01-17 16:13:51
0X01无防护GET类型CSRF(伪造添加成员请求) 环境 靶机管理登陆 192.168.1.132 本机 192.168.1.5 首先我们登陆 test账号 然后点击 添加用户 构造出我们的url 然后发送给已经登陆的管理员 管理 点开连接 可以看见我们添加成功 0X02无防护POST类型csrf-伪造出添加成员的请求 你想让受害者执行的页面构造poc 大哥说用burp 然后 发送页面到受害者登陆了的电脑 然他点击 最后看见成功添加 0x03绕过CSRF防护之Referer检查-伪造购买商品请求 这里来讲解一下refer是什么呐??这里给你解释 https://blog.csdn.net/shenqueying/article/details/79426884 那么我们继续组合群 burp POC 然后发给admin 但是出现了这样的结果 why? 这里我们在DVWA上面做过这个 可以将页面名称改为 www.csrf_demo.com.html 然后将其放到外网服务器上面去 然后构造 http://外网ip/www.csrf_demo.com.html 这样referer里面就包含和host相同的值了 这里 我们的外网ip是 http://xxxxx:2017/www.csrf_demo.com.html 然后就会购买成功

XSS代码对不同浏览器的支持与特性(详细版含测试效果)-HTML5特性向量

有些话、适合烂在心里 提交于 2020-01-17 12:59:51
HTML5特性向量 通过formaction进行XSS-需要用户交互(1) 一个显示HTML5表单和formaction功能的向量,用于在实际表单之外进行表单劫持。 1 <form id="test"></form><button form="test" formaction="javascript:alert(1)">X</button> 适用浏览器与版本 测试效果 通过自动对焦自动执行焦点事件 此向量使用具有自动聚焦的输入元素来调用其自己的聚焦事件处理程序-无需用户交互 1 <input onfocus=write(1) autofocus> 适用浏览器与版本 测试效果 通过自动对焦竞赛 自动执行模糊事件 在这里,我们有两个HTML输入元素争夺焦点-一个正在执行JavaScript以失去焦点 1 <input onblur=write(1) autofocus><input autofocus> 适用浏览器与版本 测试效果 通过<VIDEO>poster属性执行JavaScript Opera 10.5+允许将发帖者属性与javascript:URI结合使用。 此错误已在Opera 11中修复。 1 <video poster=javascript:alert(1)//></video> 测试效果 无法测试 适用浏览器与版本 通过<BODY>onscroll

网络安全开源扫描引擎

笑着哭i 提交于 2020-01-17 03:19:06
python redis awvs api nessus api =========================================== https://github.com/boy-hack/bugscan w8ay专属扫描器 =========================================== https://github.com/MXi4oyu/DockerXScan DockerXScan——Docker镜像漏洞扫描器 =========================================== https://github.com/netxfly/passive_scan 分布式 基于代理的web扫描器 =========================================== https://github.com/boy-hack/w8scan =========================================== https://github.com/blackye/BkScanner BkScanner 分布式、插件化web漏洞扫描器 =========================================== https://github.com/sowish/LNScan

WEB安全测试实战训练

[亡魂溺海] 提交于 2020-01-17 03:05:14
WEB安全测试实战训练课程: 一、常见WEB安全漏洞 1、黑客技术分析 2、常用黑客工具介绍 3、WEB常见攻击方式 二、WEB安全漏洞检测 1、HTTP安全测试 2、URL查询字符串篡改、POST数据篡改、Cookie篡改、HTTP头篡改 3、HTTP安全漏洞检查、常用工具、案例分析 4、跨站脚本攻击(XSS)方法、XSS原理剖析 5、XSS攻防演练、案例分析 6、XSS漏洞检查方法、工具、代码审查 7、XSS造成的安全后果、如何预防XSS 8、隐藏表单字段漏洞、案例分析 9、隐藏表单字段漏洞检查方法、工具、代码审查 10、DoS攻击、DoS原理 11、DoS攻防演练、案例分析 12、DoS攻击检查 13、如何预防DoS攻击 14、SQL注入攻击方法、SQL注入原理 15、SQL注入攻防演练、案例分析 16、SQL注入检查方法、工具、代码审查 17、SQL注入造成的安全后果、如何预防SQL注入 18、命令注入漏洞、攻击方法、案例分析 19、通过代码审查检测命令注入漏洞 20、XML安全漏洞 21、XPath注入、XML炸弹、XXE攻击、案例分析 22、信息泄漏 23、Forceful browsing、暴露过多的信息、案例分析 24、如何避免信息泄漏问题、代码审查 三、软件安全研发过程 1、软件安全研发过程、安全建模、安全建模工具的应用 2、编写安全的代码 3、软件安全测试方法

web端常见安全漏洞测试结果分析-- appscan

天涯浪子 提交于 2020-01-17 03:02:42
基于appscan测试结果分析: 一、XSS跨站脚本 指的是攻击者往 Web 页面里插入恶意html代码,通常是JavaScript编写的恶意代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。是最常见的Web应用程序安全漏洞之一 JavaScript可以用来获取用户的cookie、改变网页内容、URL调转,存在XSS漏洞的网站,可以盗取用户cookie、黑掉页面、导航到恶意网站 攻击的主要途径: 1.对普通的用户输入,页面原样内容输出 2.在代码区里有用户输入的内容(代码区中,绝对不应含有用户输入的东西) 3.允许用户输入HTML标签的页面 攻击解决办法:(过滤输入和转义输出) 1.在输入方面对所有用户提交内容进行可靠的输入验证,不要信赖客户输入(URL、查询关键字、http头、post数据等) 2.在输出方面,在用户输内容中使用<XMP>标签。标签内的内容不会解释,直接显示。 3.严格执行字符输入字数控制。 4.在脚本执行区中,绝不可以让用户输入 Eg: 1、用户名、密码等敏感输入字段未经加密就进行了传递 整改建议: 在被测应用与服务器交互过程中,对密码等敏感信息进行加密传输。 2. 未对用户输入正确执行危险字符清理 整改建议: 在被测应用与服务器交互过程中,对所有用户提交内容进行可靠的输入验证或编码。 二、URL 重定向包含网络钓鱼

Prevent image upload code injection

半城伤御伤魂 提交于 2020-01-16 05:00:07
问题 I have a form which the user fills with lyrics information and uploads an album cover. Submitted data will be inserted into a database and the album cover will be moved to a subfolder. localhost/project-folder/covers I've taken some precautions (escaping, prepated statements) against SQL Injection for the form input. Recently, I've learned that I also need to take precautions for file (image) upload, that the user can upload malicious images. For example, adding HTML, JS or PHP code in image

How does struts2 read parameters from request

放肆的年华 提交于 2020-01-16 04:19:09
问题 I have implemented an XSS filter as given below, @Override public String getParameter(String parameter) { String value = super.getParameter(parameter); return stripXSS(value); } @Override public String getHeader(String name) { String value = super.getHeader(name); return stripXSS(value); } private String stripXSS(String value) { System.err.println("Initial Value "+value); if (value != null) { // NOTE: It's highly recommended to use the ESAPI library and uncomment the following line to //

Configure ESAPI Security Encoding Library to prevent XSS Cross-site scripting issue

♀尐吖头ヾ 提交于 2020-01-15 17:54:40
问题 Am trying to use ESAPI for security encoding in a webapp (Jsps) to prevent XSS. I added esapi-2.1.0.jar under WEB-INF/lib and added below lines in JSP for encoding ESAPI.encoder().encodeForHTML(request.getParameter("")) But I get an exception as below org.owasp.esapi.errors.ConfigurationException: ESAPI.properties could not be loaded by any means. Fail. org.owasp.esapi.reference.DefaultSecurityConfiguration.loadConfiguration(DefaultSecurityConfiguration.java:439) I understand the problem is