网络安全学习笔记之xss攻击

学习内容来自哔哩哔哩的up主——网络安全就业推荐

一、xss攻击的分类

xss攻击中文名为:跨站脚本攻击,一般是用脚本语言,如JavaScript在前端的输入框处插入脚本语言,对网站进行攻击的行为,一般会获取网站的cookie。

反射型xss---一次性的

存储型xss---存储在数据库中,非一次性,会广泛传播

Dom(document object model)型xss---通过向前端的HTML代码插入脚本实现攻击

二、攻击流程

反射型:

dvwa的low级直接在输入框输入<script>alert(1)</script>点击提交会有弹窗跳出

防范方法:用str_replace()函数直接替换掉<script>

如:$name=str_replace('<script>',' ',$name);                #PHP代码,name是接受输入框的变量

$name=str_replace('<script>',' ',$name);

medium级应该是应用了str_replace(),由于替换为了空格,所以我们在<script>里再插一个<script>让里面的被替换掉,外面的就构成新的<script>了,所以我们插入

<scr<script>ipt>alert(1)</script>成功绕过

当然,我们也可以用大小写的方法绕过,如输入<Script>alert(1)</script>,结果发现也能绕过。

 

防范方法:用正则替换 preg_replace()函数

/*“i”表示不区分大小写*/

$name=preg_replace('/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i',' ',$name);

 

high级应该是用了这种方法,由于<script>被替换掉了,我们用还是可以用HTML自带的事件,

我们插入<img src=1 οnerrοr=alert(1)>成功绕过。

所以我们要防范这种攻击,可以将一些预定义的字符转换为HTML实体

用:$name=htmlspecialchars($name);        防范。

$name=htmlspecialchars($name);

具体的含义请自己搜索。

我们还有在url框处插入<img src=1 οnerrοr=eval(一个文件(如PHP文件))>

文件中写了一个新建一个txt文本保存用户的cookie值。

存储型:

存储型与反射型区别在存储型是非一次性的,如以下为dvwa的low级存储型,点击提交后有弹窗弹出,且

提交后的message处不显示是因为插入的语句被当成带码了而不是变量$name的值,所以不显示

点击刷新后弹窗又跳出来了

防范方法和绕过方法和反射型差不多,这里不再赘述。

Dom型:

F12发现这里的if语句里

如果default>=0的话lang就等于什么什么,我们看到有substring是在其他语言里常常是截取字符串里某一段的意思,后面还有一个(“default=”+8),我们大胆猜测是lang的值是等于号后面的8位。

(后来又看了一遍发现是default=这串是8个字符,lang的值应该等与default=后的部分)

第二行的document.write写了

<option value='lang'>decodeURI(lang)</option>,所以不管三七二十一,我们先在URL后面补上  ?default=alert(1)

结果果然弹出了弹窗

三、实际应用:

这里不是让大家攻击别人,而是要明白别人攻击的方式,便与防范。

实际攻击中常常将插入成功的URL发送至受害者,受害者一旦点击链接就会将cookie发送给攻击者,所以不要点击别人发来的网页链接,当然插入的部分一般不会是alert(1),而是其他代码,这里不在赘述。

网络安全的学习一定要配合网络安全法一起学习,以上内容乃作者的网络安全学习笔记,读者所为一切行为均与作者无关,忘牢记网络安全法。

中华人民共和国网络安全法_中央网络安全和信息化委员会办公室 (cac.gov.cn)

  • 30
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值