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

网站推广公司企业网站改自适应

网站推广公司,企业网站改自适应,做易购网站,wordpress 模板 淘宝客模板 wordpress 主题什么是XSS 跨站点脚本(Cross Site Scripting,XSS)是指客户端代码注入攻击#xff0c;攻击者可以在合法网站或Web应用程序中执行恶意脚本。当wb应用程序在其生成的输出中使用未经验证或未编码的用户输入时#xff0c;就会发生XSS。 跨站脚本攻击#xff0c;XSS(Cross Site S…什么是XSS 跨站点脚本(Cross Site Scripting,XSS)是指客户端代码注入攻击攻击者可以在合法网站或Web应用程序中执行恶意脚本。当wb应用程序在其生成的输出中使用未经验证或未编码的用户输入时就会发生XSS。 跨站脚本攻击XSS(Cross Site Scripting)。由于与CSS(Cascading Style Sheet))重名所以就更名为 XSS。 XSS作为OWASP TOP10(2017)内容之一主要使用JavaSript来完成恶意攻击的行为JS可以非常灵活的操纵HTML、CSS、浏览器这就使得XSS攻击“想象空间非常大。也就是说JS强大的灵活性和功能为XSS攻击提供了非常广阔的攻击面。 XSS攻击利用的是Javascript代码Javascript运行环境解释器是浏览器因为浏览器中有一个引擎专门解释运行Javascript的chrom v8引擎 XSS攻击的是客户端浏览器 XSS攻击模型 XSS 通过将精心构造的代码JavaScript注入到网页中并由浏览器解释运行这段JS 代码以达到恶意攻击的效果。当用户访问被XSS 脚本注入过的网页XSS 脚本就会被提取出来用户浏览器就会解析执行这段代码也就是说用户被攻击了。 整个XSS 攻击过程涉及三个角色 服务器 攻击者 客户端浏览器用户前端 攻击流程 攻击者将XSS代码注入到web服务器中受害者访问被注入的网页网页资源加载到受害者浏览器中浏览器发现加载内容包含js代码浏览器就尝试解释执行js代码一旦执行成功那么受害者浏览器就遭受了攻击攻击后的操作可能是将敏感信息发送给攻击者攻击者拿到敏感信息后进行恶意欺骗核心三步骤 攻击者向服务器注入恶意代码受害者访问服务器受害者执行恶意代码 XSS反射型 low等级 scriptalert(xss)/script输入在输入框中 出现弹窗表示攻击成功。 查看源代码 ?phpheader (X-XSS-Protection: 0);// Is there any input? if( array_key_exists( name, $_GET ) $_GET[ name ] ! NULL ) {// Feedback for end userecho preHello . $_GET[ name ] . /pre; }?发现并没有任何过滤。 Medium等级 输入 scriptalert(xss)/script发现将js标签中的内容输出了可知后端代码将js标签过滤了。 输入js伪协议 a hrefjavascript:alert(/xss/)hello/a点击hello出现弹窗表示攻击成功 查看源代码 ?phpheader (X-XSS-Protection: 0);// Is there any input? if( array_key_exists( name, $_GET ) $_GET[ name ] ! NULL ) //判断$_GET中是否包含name {// Get input$name str_replace( script, , $_GET[ name ] );//将script替换为空// Feedback for end userecho preHello ${name}/pre; }?发现将script替换为空 High等级 输入 scriptalert(xss)/script输入 a hrefjavascript:alert(/xss/)hello/a输入 img src# onclickalert(/xss/)点击图像的图标出现弹窗表示攻击成功。 查看源代码 ?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 ] );//只要有script就直接过滤不管是不是大小写混写还是双写都过滤掉只要标签中包含script就过滤。所以使用事件。// Feedback for end userecho preHello ${name}/pre; }?只要有script就直接过滤不管是不是大小写混写还是双写都过滤掉只要标签中包含script就过滤。所以使用事件但是事件不能单独存在所以要跟一个标签这里使用img标签 XSS存储型 low等级 输入姓名在留言处输入xss注入代码 scriptalert(/xss/)/script查看源代码 ?phpif( isset( $_POST[ btnSign ] ) ) {// Get input$message trim( $_POST[ mtxMessage ] );$name trim( $_POST[ txtName ] );// Sanitize message input$message stripslashes( $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)) ? : ));// Sanitize name input$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(); }?说明 trim(string,charlist) 移除字符串两侧的空白字符或其他预定义字符stripslashes(string) 删除反斜杠/mysqli_real_escape_string(string,connection) 函数会对字符串string中的特殊符号\x00\n\r\‘“\x1a进行转义。 Medium等级 点击clear将Low等级的内容清理掉 上传 scriptalert(/xss/)/script内容被过滤了 查看源代码 ?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(); }?说明 addslashes(string) 函数返回在预定义字符之前添加反斜杠的字符串预定义字符 ’ 、 、\ 、NULL。strip_tags(string) 函数剥去string字符串中的 HTML、XML 以及 PHP 的标签。htmlspecialchars(string) 把预定义的字符 “” 小于、 “” 大于、 、‘’、“” 转换为 HTML 实体防止浏览器将其作为HTML元素。 发现Message使用htmlspecialchars将一些特殊字符过滤了并且strip_tags函数把script标签给剥除了addslashes函数把 ’ 转义成了 \ ’ 虽然Message被过滤了但是name只过滤了script可以在name中进行xss注入 但是前端代码中那么字段内容限制在10字符内所以在前端中进行修改将10改为100 name中输入 a href javascript:alert(/xss/)hello/a点击hello出现弹窗说明攻击成功 因为name之过滤了script那么是用大小写混写进行绕过 sCRiptalert(/xss/)/sCRiptHigh等级 查看源代码 ?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 preg_replace( /(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i, , $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(); }?可以看到high级别只是在medium级别上name参数用了正则表达式进行过滤而已因此只需要换一个同样能进行弹窗的标签即可。 首先修改页面中的Name参数长度为100然后输入如下命令 在name中输入 img src# onclickalert(/xss/)使用事件进行xss注入 XSSdom型 XSS(DOM)是一种基于DOM树的一种代码注入攻击方式可以是反射型的也可以是存储型的所以它一直被划分第三种XSS。与前两种XSS相比它最大的特点就是不与后台服务器交互只是通过浏览器的DOM树解析产生。除了jsflash等脚本语言也有可能存在XSS漏洞。 DOM是JS操作网页的接口全称为“文档对象模型”Document Object Model。它的作用是将网页转为一个JS对象从而可以用脚本进行各种操作比如增删内容。 Low等级 查看源码 ?php# No protections, anything goes?没有任何过滤、只是将表单的输入打印出来那就意味着可以在url中输入JavaScript脚本来执行。 http://192.168.16.136/dv/vulnerabilities/xss_d/?defaultEnglishscriptalert(xss)/scriptMedium等级 查看源代码 ?php// Is there any input? if ( array_key_exists( default, $_GET ) !is_null ($_GET[ default ]) ) {$default $_GET[default];# Do not allow script tagsif (stripos ($default, script) ! false) {header (location: ?defaultEnglish);exit;} }发现在这个里面再一次对script标签进行了替换。无法使用之前的方式进行XSS攻击 检查前端html语句。 value的值是从这个当中选出来的那么可以通过构造闭合来执行语句。 尝试使用img标签 img src1 οnerrοralert(xss)输入后发现页面没有变化 查看页面代码发现构造的语句已经被插入到了value当中不能成功执行的原因是select标签中只允许内嵌option标签而option标签是不能嵌套构造的img标签的因此需要先将前面的select标签和option标签都闭合后才能使用img标签。 /select/optionimg src1 οnerrοralert(xss);High等级 查看源码 ?php// Is there any input? if ( array_key_exists( default, $_GET ) !is_null ($_GET[ default ]) ) {# White list the allowable languagesswitch ($_GET[default]) {case French:case English:case German:case Spanish:# okbreak;default:header (location: ?defaultEnglish);exit;} }? 此处使用了白名单过滤只允许传的 default值为 French English German Spanish 其中一个。 只能找方法绕过服务器端的处理直接在本地运行构造的语句可以过“#”来注释掉后面的内容因为URL栏中的“#”之后的内容不会被发送到服务器当中去不会经过JS的过滤只在客户端显示可以直接与浏览器进行交互。 #scriptalert(xss);/script如果没反应就刷新页面。 也可以使用 拼接另一个参数随便定义也就是双参数绕过。 scriptalert(xj)/script
http://www.hkea.cn/news/14515215/

相关文章:

  • 湛江网站制作工具网站开发建设合同范本
  • 公司网站没有备案是不是违法的wordpress移动底部菜单
  • 免费推广网站教程9158个人空间登录
  • 河北手机网站制作价格东莞网站建设 拉伸膜
  • 怎样在建设部网站查资质证书商业网站网站建设
  • 网站开发程序流程图网站推广计划书具体包含哪些基本内容?
  • 百度推广建设网站是不是合发如何修改wordpress模板
  • 珠宝玉器监测网站建设方案seo应该怎么做
  • 太原网站制作优化seo软件系统设计流程
  • 个人网站不备案可以吗python报修网站开发源码
  • 开发板可以做什么网站改版 优化
  • 措美网站建设长沙cms建站模板
  • 计算机应用教程 网站的建设与维护南安市住房和城乡建设局网站
  • 重庆网站公司深圳企业网站建设制作公司
  • 杨庄网站建设千博企业网站系统
  • 装修哪家好优化大师官方正版下载
  • 庆元县建设局网站外网图片素材网站
  • 微信制作网站设计wordpress 后台路径
  • 乒乓球网站怎么做无极商城网站建设
  • 黔东南网站建设河北青山建设集团有限公司网站
  • 温州知名网站推广企业服务账号怎么查询
  • 免费自建手机网站野望王维
  • 域名访问网站慧聪网怎样做网站友情链接
  • 阿里巴巴怎么做公司网站免费做自我介绍网站
  • 虎林网站建设成立公司怎么取名
  • 交互网站开发培训做网站犯法了 程序员有责任吗
  • 公司在兰州要做网站怎样选择互联网营销推广服务商
  • 重庆建设银行官方网站首页做采集网站难不
  • 网站开发用什么工具好微信自动加人软件免费
  • 随县住房和城乡建设局网站爱站网排名