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

网站制作技术方案网站更新 缓存

网站制作技术方案,网站更新 缓存,定制衣服app软件哪个好,广州小网站建设目录 靶场练习地址#xff1a;https://xss.pwnfunction.com/ 题目源码#xff1a; 代码分析#xff1a; 方法一#xff1a;匿名函数 方法二#xff1a;使用eval函数绕过限制 示例#xff1a; 方法三#xff1a;利用hash绕过 靶场练习地址#xff1a;https://xs…目录 靶场练习地址https://xss.pwnfunction.com/ 题目源码 代码分析 方法一匿名函数 方法二使用eval函数绕过限制  示例 方法三利用hash绕过 靶场练习地址https://xss.pwnfunction.com/ 题目源码 代码分析 根据源码可以分析出过滤了, , ,,-,!,\,[,]并且过滤了弹窗函数alert,这样的一个正则我们必须知道弹窗最常用的三个函数为alert、prompt、confirm三个函数都能实现弹窗。 那么最简单的绕过就是 payload:prompt(1337);payload:confirm(1337); 因为这里是作者编写的失误所以导致绕过过于简单实际上过滤了alert也会过滤掉其他弹窗函数 所以上述解法基本上是不可能实现的。 如果上面的行不通我们可以使用以下方法来解决 方法一匿名函数 var add new Function(x,y,return x*y ); 等同于 function add(x,y){return x*y; } 如何执行  Function()() 因为JavaScript是严格区分大小写的所以我们可以将大写的ALERT转为小写然后执行 Function(/ALERT(1337)/.source.toLowerCase())() 事实上就是利用了将alert转化为大小写来绕过。 ok执行成功 方法二使用eval函数绕过限制  这里用到了js中的一个函数 parseInt(*string*, *radix*) 解析一个字符串并返回指定基数的十进制整数 radix 是2-36之间的整数表示被解析字符串的基数。 string         要被解析的值。如果参数不是一个字符串则将其转换为字符串(使用 ToString抽象操作)。字符串开头的空白符将会被忽略。 radix 可选          2 到 36表示字符串的基数。例如指定 16 表示被解析值是十六进制数。请注意10不是默认值 示例 parseInt(1i, 20) // 将123看作5进制数返回十进制数38  所以我们可以将alert先用三十进制转换为数字然后再转回为字符串         至于为什么是三十进制0-9占十位a-t占二十位如果小于三十进制的话当它从数字转回为字符串时字符会丢失(例如asert用29进制转换为数字然后再转回为字符串时会变为aser少了一个t)转回字符串的原因数字无法运行。 所以将alert转化成30进制 parseInt(alert, 30) 结果为数字8680439也就是说我们利用parseInt函数将关键字变为一串数字但数字肯定无法运行我们还需要再变回去要将一个数字转换为特定的 radix 中的字符串字段要使用 thatNumber.toString(radix)函数。 注转为tostring方法中间为..  eval(8680439..toString(30))(1337) ok成功弹窗 方法三利用hash绕过 var url document.createElement(a); url.href https://developer.mozilla.org/en-US/search?qURL#search-results-close-container; console.log(url.href); // https://developer.mozilla.org/en-US/search?qURL#search-results-close-container console.log(url.protocol); // https: console.log(url.host); // developer.mozilla.org console.log(url.hostname); // developer.mozilla.org console.log(url.port); // (blank - https assumes port 443) console.log(url.pathname); // /en-US/search console.log(url.search); // ?qURL console.log(url.hash); // #search-results-close-container console.log(url.origin); // https://developer.mozilla.org 我们可以看到location.hash是取url中#后面的部分  而#后面的部分不会算作get传参的内容所以我们可以将代码写在location.hash的位置然后用eval函数来执行。 注意location.hash第一个位置是#所以我们还得使用一个slice函数来进行切割                 slice(index)index为索引 eval(location.hash.slice(1))#alert(1337) ok完成 以上就是目前我知道的所有方法。
http://www.laogonggong.com/news/129254.html

相关文章:

  • 四川省建设厅官网站网站建设佛山拓客科技公司
  • 广东官网网站建设公司专业网站建设公司需要做好哪些方面的工作
  • 网站免费推广100种方法滨州网站建设phpi
  • 谁给个网站啊急急急2021国产crm系统91
  • 海南网站建设监理不用付费全部免费的追剧软件
  • 九龙坡区建设二校有网站吗滨海企业做网站多少钱
  • 官网网站模板网页端二维码在哪里
  • 东莞网站建设营销服务平台网络公司建网站
  • 做淘宝头像的网站有哪些网站制作吧
  • 上海外贸网站建设公司茂名网站建设哪家强
  • 免费营销型网站建设wordpress如何分栏
  • 电影网站源码程序深圳有哪些网站建设公司
  • 关于网络营销的网站展厅的设计风格和理念
  • 东莞官方网站设计wordpress任务论坛
  • 建设个人网站第一步这么做找个人做网站的
  • 网站建设工程师面试对自己的前景规划设计好的集团网站建设多少钱
  • 毕业设计网站开发网站建设的意义是什么
  • 乐山市规划和建设局网站wordpress5.6
  • jsp做网站毕业设计wordpress客户端下载
  • 佛山网站建设佛山网络推广搜索引擎排名优化seo
  • 制作网站的素材深圳大型网站建设服务
  • 苏州企业网站建设服务好茶楼网站源码
  • 网站建设技术发展现状什么样企业需要网站建设
  • 做网站 英语舞钢做网站
  • 上海网站开发毕业生有了域名如何建立网站
  • 网站导航如何做半透明农业电商网站建设ppt
  • 建设银行个人网站登陆dedecms迁移wordpress
  • 电商网站开发外包怎样建立一个营销网站
  • 网站建设论文开题报告范文wordpress添加评论
  • wangz网站建设app开发制作平台网站建设