本人黑绝楼,自称老黑,男,25岁,曾经在BAT工作过两年,但是一直都是底层人员,整天做重复性工作,甚敢无趣,曾和工作十年之久的同事聊天,发现对方回首过往,生活是寡淡如水,只有机械性工作。旋即老黑毅然决然辞职,现赋闲在家,打算从软件开发工程师转为安全研究,开这个博客记录平生,以飨各位看官。

老黑我无房,无车,无女友,身高一米七七,微胖,为计算机奋斗了四五年,可惜进步甚微,现决心发愤图强,在未来的七八个月里做最后的挣扎,不成功便安心结婚生子,随了父母的心愿。:)

人生处处都是选择,做出正确的选择才能谋取更大的局面。

开篇第一章,2017年10月25日早上7点起床,写了一章小说发到了起点网上,然后开始研究安全,呵呵。

网上安全研究的网站,文章,课题这么多,该将有限的时间用在哪个身上呢?

i春秋,知道创宇技能表,还是直接在补天上挖漏洞?

选择知道创宇的技能表,视频太浪费时间了,文字和实战是首选,视频能不看就不看。

XSS 练习网站

https://alf.nu/alert1

第三题

function escape(s) {s = JSON.stringify(s);return '<script>console.log(' + s + ');</script>';
}

  目的是构造可执行alert(1)命令是s字符串,显示到页面是

<html>
<head></head>
<body>
<script>console.log("s")</script>
</body>
</html>

  TRY:

1. 输入 ") 打算封闭log的函数,可是s经过了JSON.stringify()特殊处理,输入的 " 变成 \" 无法封闭log函数,打算查看JSON.stringify()有什么可以突破的地方,最后发现没有。

2. 简单粗暴的闭合<script>标签,直接构造新的。输入 </script><script>alert(1)</script>,OK!

回过头仔细查看了下JSON的stringify函数是要对特殊字符进行转义的像 ",\ 等,以便正确读取完整的s字符串,所以第一种尝试是不成功的,显而易见,如果连完整的字符串都读取不完整的话,开发人员早就不使用这种函数了。

第四题

function escape(s) {var url = 'javascript:console.log(' + JSON.stringify(s) + ')';console.log(url);var a = document.createElement('a');a.href = url;document.body.appendChild(a);a.click();
}

TRY:

1. 不能像第三题一样,闭合<script>,输入的内容都会套在可恶的双引号里边,结合外部代码,发现是一个url,通过提前对被转义的 " URL编码,尝试闭合log函数,输入

%22);alert(1)// 尝试成功!

  原理:输入的字符串 -> URL编码 -> 到服务器后解析 -> 实现目的

参考:

https://my.oschina.net/heweipo/blog/395884

http://www.cnblogs.com/liuhongfeng/p/5006341.html

http://blog.sina.com.cn/s/blog_95c8f1ac010198j2.html

 

【20171025早】alert(1) to win 练习相关推荐

  1. 【20171025中】alert(1) to win 脚本渲染自建

    游戏误人生,一下午玩了将近四个小时的三国杀,后悔不已,然后重新拾起xss challenge,突发奇想,自己构建渲染后的html. 从最简单的开始. 自动检测html: <!DOCTYPE ht ...

  2. alert(1) to win 16

    转载于:https://www.cnblogs.com/natian-ws/p/8275470.html

  3. 网络安全如何学习?(学习路线及资料)

    概括来说,网络安全课程的主要内容包括: 安全基本知识 应用加密学 协议层安全 Windows安全(攻击与防御) Unix/Linux安全(攻击与防御) 防火墙技术 入侵监测系统 审计和日志分析 下面分 ...

  4. ext.js组件的基本操作

    MessageBox组件 //Ext.onReady 准备函数 类似于window.onload Ext.onReady(function(){//提示信息 // Ext.MessageBox.ale ...

  5. ExtJS 组件添加子组件

    2019独角兽企业重金招聘Python工程师标准>>> [1 添加子组件] Ext.onReady(function(){//ex002 : 在组件中添加子组件 ,并进行一系列针对于 ...

  6. 父窗口、子窗口和Silverlight之间的相互调用

    啊哈~ 爷爷,爸爸,儿子~ 三代同堂~ 前两天做 silverlight 的东西,主页面打开一个子页面,然后子页面中包含一个 silverlight 应用程序 那难免会涉及到他们三者相互调用的问题 其 ...

  7. 4、ExtJs——Ext.window.Window

    第一个组件:Ext.window.Window.对于组件,也就是Ext最吸引开发者的地方. - xtype:组件的别名  - Hierarchy 层次结构  - Inherited mixins 混入 ...

  8. 前端安全系列(一):如何防止XSS攻击?

    前端安全 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网络 ...

  9. jquery iframe 父子互操作

    父页面 View Code <html><head><scriptsrc="jquery.js"type="text/javascript& ...

最新文章

  1. 华为抢购助手_华为MateBook 13轻薄本:出差者的首选,学生党的福音
  2. markdown数学公式手册
  3. python中0o10_Python基础10—I/O编程
  4. dbnetlib sqlserver不存在或拒绝访问_部署IIS+PHP+SQL server环境
  5. 【设计素材】表格数据形平面海报素材
  6. Iterables和迭代器
  7. 42. 确保lessT与operator小于具有相同的语义
  8. java tcp socket 关闭_JAVA SOCKET和TCP四次挥手
  9. 使用虚拟机win7安装_STEP7 V5.6
  10. 竖版1:2500万标准中国地图
  11. 智能客服搭建(4) - 语音流的分贝计算
  12. Uniapp设置页面的背景图片
  13. linux鼠标手势软件,linux 系统中全能的鼠标手势——easystroke
  14. 沧海的孤塔-chimera
  15. Windows应用商店0x80131500错误
  16. 体验论文新神器!AMiner人工智能工具,自动溯源论文来龙去脉
  17. java项目遇到难题_Java项目遇到的常见问题
  18. 教你如何快速突破TikTok限流--TK领航社tiktok苹果版安卓版下载教程
  19. V2V Data Offloading for Cellular Network Based on the SDN Inside MEC Architecture 学习笔记
  20. C\C++ 输出8位,不足时全补0

热门文章

  1. ar面部识别_国内手机厂商AR布局报告
  2. linux 如何获得后缀_Bugku:杂项 linux
  3. datax导入MySQL报错_导入MySQL方法对比
  4. 家用光纤猫设备、光纤收发器和光电交换机介绍
  5. 【渝粤教育】 国家开放大学2020年春季 1190当代中国政治制度 参考试题
  6. 【渝粤题库】陕西师范大学202101 公共政策学
  7. php 获取文件最后几行,php获取文件的最后N行数据
  8. python怎么把数据写进txt_python 如何将数据写入本地txt文本文件的实现方法
  9. java中线性结构的例子_java数据结构--线性结构
  10. 还不会子网划分?看这篇文章还远远不够!