当前位置: 首页 > news >正文

福州企业网站建站系统东莞网站建设完整

福州企业网站建站系统,东莞网站建设完整,潍坊寿光网站建设,创立一个公司需要多少钱一、XSS攻击 1.1. XSS 攻击简介 XSS#xff08;Cross-Site Scripting#xff0c;跨站脚本攻击#xff09;是一种常见的Web安全漏洞#xff0c;它允许攻击者在受害者的浏览器中执行恶意脚本。攻击者通常通过在Web应用程序中注入恶意脚本代码#xff08;如JavaScript…一、XSS攻击 1.1. XSS 攻击简介 XSSCross-Site Scripting跨站脚本攻击是一种常见的Web安全漏洞它允许攻击者在受害者的浏览器中执行恶意脚本。攻击者通常通过在Web应用程序中注入恶意脚本代码如JavaScript并在用户访问该页面时执行这些代码。 1.2. XSS 攻击类型 XSS 攻击通常分为以下三种类型 存储型 XSSStored XSS 攻击者将恶意脚本注入到服务器的数据库或其他存储位置。当用户访问含有恶意脚本的页面时脚本会在其浏览器中执行。 例如攻击者在一个评论区提交恶意代码服务器将该代码存储并返回给所有访问该页面的用户。 2. 反射型 XSSReflected XSS 攻击者将恶意代码附加到URL中诱使用户点击。服务器将这个恶意代码反射回用户的浏览器在页面加载时执行脚本。 例如攻击者通过邮件或社交媒体发送一个包含恶意脚本的链接用户点击后脚本在其浏览器中执行。 3. DOM-based XSS 在客户端浏览器端通过 JavaScript 操作 DOM文档对象模型时恶意脚本会被注入并执行。攻击者通过操控页面上的 JavaScript 来实现攻击。 这种类型的XSS攻击不依赖服务器端的输入验证而是直接通过客户端代码的漏洞来注入恶意脚本。 二、DVWA靶场-Vulnerability: Reflected Cross Site Scripting (XSS) 2.1 LOW 直接输入最简单的payload测试是否存在XSS漏洞大多数XSS漏洞可以利用该种方法检测。测试代码如下在输入框输入如下代码并提交。 scriptalert(hello xss)/script弹窗提示因此发现存在反射型XSS风险。 2.2 Medium 将等级改为Medium后再次输入以下脚本测试 scriptalert(hello xss)/script发现Medium等级应该对script进行了处理。 2. 查看Medium源代码分析具体对script进行了哪种处理 // Reflected XSS Source // vulnerabilities/xss_r/source/medium.php ?phpheader (X-XSS-Protection: 0);// Is there any input? if( array_key_exists( name, $_GET ) $_GET[ name ] ! NULL ) {// Get input$name str_replace( script, , $_GET[ name ] );// Feedback for end userecho preHello ${name}/pre; }? 代码分析这里很明显看得出来是对script字符进行了过滤使用str_replace()函数将输入中的script替换成为空于是需要我们想办法绕过过滤字符。 破解 1双写绕过 scrscriptiptalert(hello xss)/script2大小写绕过 ScRiptalert(hello xss)/ScRipt提交后弹窗提示xss破解成功 2.3 High 将等级改为High后再次输入以下脚本测试 scrscriptiptalert(hello xss)/script提交后显示如下。发现High等级应该对script进行了处理。 2. 查看High源代码分析具体对script进行了哪种处理 ?phpheader (X-XSS-Protection: 0);// Is there any input? if( array_key_exists( name, $_GET ) $_GET[ name ] ! NULL ) {// Get input$name preg_replace( /(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i, , $_GET[ name ] );// Feedback for end userecho preHello ${name}/pre; }? 代码分析针对特殊符号均有过滤使得双写绕过以及大小写混淆绕过失效。(正则表达式中的i表示不区分大小写)。 3. 破解方法 script标签失效但是可以通过img、body等标签的事件或者iframe等标签的src注入恶意的js代码。 1采用img标签转换后的XSS payload img src 1 onerror alert(/xss/)2使用DATA URL进行XSS: object datadata:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4/object其中的PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4就等同于scriptalert(xss)/script 三、Vulnerability: Stored Cross Site Scripting (XSS) 3.1 Low 在界面输入经典payload发现name框对输入长度有限制因此将payload转而输入message框发现可以成功注入。 scriptalert(hello xss)/script手动更改Name输入框的长度修改maxlength 100然后在name框输入经典payload发现对长度已经没有限制 scriptalert(hello xss)/script提交后XSS攻击成功 3.2 Medium 尝试使用经典的方法发现之前经典的payload方法失败 查看源码 ?phpif( isset( $_POST[ btnSign ] ) ) {// Get input$message trim( $_POST[ mtxMessage ] );$name trim( $_POST[ txtName ] );// Sanitize message input$message strip_tags( addslashes( $message ) );$message ((isset($GLOBALS[___mysqli_ston]) is_object($GLOBALS[___mysqli_ston])) ? mysqli_real_escape_string($GLOBALS[___mysqli_ston], $message ) : ((trigger_error([MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work., E_USER_ERROR)) ? : ));$message htmlspecialchars( $message );// Sanitize name input$name str_replace( script, , $name );$name ((isset($GLOBALS[___mysqli_ston]) is_object($GLOBALS[___mysqli_ston])) ? mysqli_real_escape_string($GLOBALS[___mysqli_ston], $name ) : ((trigger_error([MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work., E_USER_ERROR)) ? : ));// Update database$query INSERT INTO guestbook ( comment, name ) VALUES ( $message, $name );;$result mysqli_query($GLOBALS[___mysqli_ston], $query ) or die( pre . ((is_object($GLOBALS[___mysqli_ston])) ? mysqli_error($GLOBALS[___mysqli_ston]) : (($___mysqli_res mysqli_connect_error()) ? $___mysqli_res : false)) . /pre );//mysql_close(); }? 对源码分析 strip_tags()函数剥去字符串中的HTML、XML以及PHP的标签但允许使用标签。addslashes()函数返回在预定义字符单引号、双引号、反斜杠、NULL之前添加反斜杠的字符串。message参数使用了htmlspecialchars函数进行编码无法再通过message参数注入XSS代码但是对于name参数只是简单过滤了 考虑对name输入框进行xss注入 1首先需要手动更改Name输入框的长度修改maxlength 100 2绕过方式类似于反射型XSS 双写绕过 scrscriptiptalert(hello xss)/script大小写绕过 ScRiptalert(hello xss)/ScRipt使用非script标签的xss payload。 img src 1 onerror alert(/xss/)3.3 High High等级的name输入框使用正则表达式过滤了script标签但是却忽略了img、iframe等其它危险的标签因此name参数依旧存在存储型XSS。 1手动更改Name输入框的长度修改maxlength 100 2使用非script标签的xss payload注入注入成功。 img src 1 onerror alert(/xss/)四、Vulnerability: DOM Based Cross Site Scripting (XSS) 4.1 Low 观察主页面可以看到页面的功能是让我们选择默认的语言但是这里又没有对default参数没有进行任何的过滤。 因此我们在这里构造XSS代码在default参数后面写入脚本构造访问连接 ?defaultscriptalert(hello xss)/script访问后弹出XSS攻击成功 4.2 Medium 过滤了script那么我们可以用图片插入语句法 ?defaultimg src 1 onerror alert(dom)此时没有出现任何的变化界面没有反应。这个时候查看网页的源代码 可以看到我们输入的脚本语句被插入进了value值中没有插入到option标签的值中所以我们语句当中的标签就没有起到作用因此不会弹窗。 我们改进我们的语句尝试将前面的标签闭合注入成功 ?default/selectimg src 1 onerror alert(dom)我们还可以直接在English值的后面直接进行拼接页面也能直接出现弹窗 ?defaultEnglish/selectimg src 1 onerror alert(dom)4.3 High级别 字符 # 绕过服务端过滤 url中有一个字符为#该字符后的数据不会发送到服务器端#后面的内容是对浏览器的操作不会发送到http请求当中去从而绕过服务端过滤。因此可以这样构造连接 ?defaultEnglish#scriptalert(high!!!)/script点击提交刷新页面后出现弹窗 五、参考资料 DOM-based XSS参考
http://www.w-s-a.com/news/182505/

相关文章:

  • 网站建设方案对比分析报告成都短视频代运营
  • 企业所得税税率知多少重庆seo什么意思
  • ftp如何修改网站备案号百度云建站
  • 免费做网站空间dede二手车网站源码
  • 网站服务器需要多大设计网站公司开发
  • asp 网站权限设计做网站业务员
  • 做棋牌网站违法嘛网络服务网络推广
  • 专门做推广的网站吗免费建域名网站
  • 在百度做网站株洲网站平台搭建
  • 用node做的网站南宁网站定制开发
  • 做刷单网站犯法吗wordpress depth
  • 潍坊青州网站建设少儿编程app
  • 表白网站制作源代码自己怎么免费做网站网页
  • 开源网站建设是什么工作个人虚拟网站
  • 网站制作的一般过程优化关键词排名公司
  • 如何使用阿里云建设网站网站两边广告
  • 互联网信息服务小红书seo是什么意思
  • 深圳市南山区建设局网站公司简介网页
  • 免费小程序制作软件爱站网站seo查询工具
  • 承接电商网站建设缔烨建设公司网站
  • 网站运营介绍十大国外室内设计网站
  • 网站建设完毕后怎么加后台电影购买网站怎么设计
  • 空间ip地址访问网站音乐分享 wordpress
  • 做网站一单能挣多少wordpress主题文件夹在哪
  • 视频社区app源码台州优化网站
  • 保定高端网站建设做微商好还是开网站好
  • 有什么方法在淘宝发布网站建设设计wordpress评分
  • 自己做的网站怎么爬数据库酷播wordpress
  • 广州哪家做网站还可以黑龙江省建设厅网站的电话
  • 青海省高等级公路建设管局网站国内做led灯网站有