1.SQL 注入
SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令。
用户名为 cedric , 密码为 123456
select username from users where username='cedric' and password='123456';
// 符号 ‘--’ 后面的语句相当于被注释了
select username from users where username='cedric -- ' and password='111';
// 符号 ‘--’ 后面的语句相当于被注释了
select username from users where username='cedric';delete from users; -- ' and password='111';
SQL 注入预防
const login = (username, password) => {
// 预防 sql 注入
username = escape(username)
password = escape(password)
const sql = `
select username from users where username=${username} and password=${password};
`
// 然后按上面语句执行 sql 查询
···
}
2. XSS 攻击
XSS 攻击示例
<script> alert(1) </script>
alert(1)
, 页面弹出 1 。窃取网页中的cookie值
<script> alert(document.cookie) </script>
劫持流量实现恶意跳转
<script>window.location.href="www.abc.com";</script>
XSS 攻击预防
<script>
、<a>
等标签的< >
进行转换,然后再保存到后台数据库。 npm install xss
const xss = require('xss')
const inputValue = content // 未进行 xss 防御
const inputValue = xss(content) // 已进行 xss 防御
<script> alert(1) </script>
, 就会被转换为下面的语句并存入数据库:<script> alert(1) </script>
,已达到无法执行 <script>
的目的。https://www.cnblogs.com/cckui/p/10990006.html
【历史文章】:
学习更多技术,关注我:
觉得文章不错给点个‘再看’吧
原文始发于微信公众号(编码安全研究):SQL 注入和 XSS 攻击
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论