当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。当服务器将获得的客户端输入值并没有做任何处理直接拼接到查询语句中去访问数据库,输入端可以利用诸如逻辑运算符等使返回值永远为真达到欺骗服务器形成恶意的SQL语句
例如,
输入’1’时返回值为真,当输入’1’ or ‘1’='1’时,由于’1’为真,‘1’='1’永远为真,通过逻辑or运算时返回值也永远为真,那么此时视作输入端输入的值为真,这就构成了SQL注入漏洞。
下面通过burpsuit抓包演示。
这里博主用一个纯在SQL注入漏洞的查询页面做演示。输入用户id发出查询请求同时打开burpsuit进行抓包。
右键点击抓到的数据包send to reapeter进行数据包重现。
在repeat中点击GO进行数据包重放
可以看到数据库给出的返回值为
将左端用户id从1改成2再次查看返回值。可以看到任然没有问题。
SQL数字.字符型漏洞注入再现
最新推荐文章于 2024-07-31 17:04:28 发布
本文介绍了SQL注入攻击的原理,通过示例展示了如何利用逻辑运算符构造恶意SQL语句,欺骗服务器获取数据库信息。使用Burp Suite进行抓包和重放请求,演示了在存在SQL注入漏洞的页面上,如何通过改变用户ID实现数据遍历。同时提到了字符型SQL注入,其原理类似数值型,主要通过欺骗服务器从后台数据库获取数据。
摘要由CSDN通过智能技术生成