这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,比较适合初学者观看。
对于防止sql注入发生,我在这里用简单拼接字符串的注入及参数化查询,如果大家对这个系列的内容感兴趣,可以在评论区告诉我!
一、什么是跨站脚本攻击(XSS)
1.1、XSS攻击原理
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意脚本代码,而程序对于用户输入内容未过滤,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。
跨站脚本攻击的危害:窃取cookie、放蠕虫、网站钓鱼 ...
跨站脚本攻击的分类主要有:存储型XSS、反射型XSS、DOM型XSS
XSS漏洞是Web应用程序中最常见的漏洞之一。如果您的站点没有预防XSS漏洞的固定方法,那么就存在XSS漏洞。这个利用XSS漏洞的病毒之所以具有重要意义是因为,通常难以看到XSS漏洞的威胁,而该病毒则将其发挥得淋漓尽致。
在这里使用一个简单的例子测试XSS:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>测试是否存在xss漏洞</title>
</head>
<body>
<span>输入评论:</span>
<input type="text" value="" placeholder="请输入您的评论" id="comment">
<input type="button" value="提交" id="submit">
<p>
<span>您的评论:</span>
<span id="commentList"></span>
</p>
<script>
document.getElementById("submit").addEventListener("click",function(){
let comment = document.getElementById("comment").value
document.getElementById("commentList").innerHTML = comment
})
</script>
</body>
</html>
注意:使用innerHtml插入代码,只是当作普通的html执行,js解析器不会执行js脚本。文章来源:https://www.toymoban.com/news/detail-727145.html
1.2、XSS攻击分类
反射型
用户在页面输入框中输入数据,通过 get 或者 post 方法向服务器端传递数据,输入的数据一般是放在 URL 的 query string 中,或者是 form 表单中,如果服务端没有对这些数据进行过滤、验证或者编码,直接将用户输入的数据呈现出来,就可能会造成反射型 XSS。反射型 XSS 是非常普遍的,其危害程度通常较小,但是某些反射型 XSS 还是会造成严重后果的。
黑客通常通过构造一个包含 XSS 代码的 URL,诱导用户点击链接,触发 XSS 代码,达到劫持访问、获取 cookies 的目的。文章来源地址https://www.toymoban.com/news/detail-727145.html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>xss漏洞广告页面</title>
<style>
a {
text-decoration: none;
font-size: 2rem;
}
img {
width: 8rem;
height: 8rem;
}
</style>
</head>
<body>
<a href="attack.html?content=<img src='aaa.png' onerror='alert(1)'/>">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1520930605289&di=04f8835509d8c3c3fac4db7636247431&imgtype=0&src=http%3A%2F%2Fpic.58pic.com%2F58pic%2F13%2F14%2F16%2F3
到了这里,关于WEB安全之XSS漏洞与SQL注入漏洞介绍及解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!