- 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。通过递交参数构造巧妙的SQL语句,从而成功获取想要的数据。
- 分为字符型注入和数字型的注入,由于编程语言不同,所存在的注入类型也不同。
- 危害:
--非法查询其他数据库资源,如管理员帐号。
--执行系统命令
--获取服务器root权限
SQL注入的原理例子:
Test.asp文件代码片段:
sqlStr = "select * from n_user where username='"&username&"' and password='"&password&"'
rs = conn.execute(sqlStr)
正常的查询:test.asp?username=test&password=123
sqlStr = "select * from n_user where username='test' and password='123'"
使password=123 ' or '1'='1:
Sql语句到数据库后:
sqlStr = "select * from n_user where username='test' and password='123' or '1'='1'"
Or '1'='1'始终成立。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!