在新手入门web安全的时候,sql注入每每是最早上手的一个漏洞,它也是危害至关大的一个漏洞,存在此漏洞的话,将有被脱裤的风险。php
如下全部代码都是我本身写的,可能有不美观,代码错误等等问题,但愿你们能够指正。web
如图是一个正常的登录框sql
点击登录时,抓包数据库
这时,直接将其丢入sqlmap中,进行注入检测segmentfault
能够看到直接爆出了系统环境、数据库版本等信息安全
这里先补充一下前面所用到的代码函数
login.phpweb安全
logins.php学习
代码中直接接收了传来的参数,而后直接带入查询数据库,没有进行任何的过滤,因此就致使了sql注入的产生。编码
这里,只须要将传入的参数进行过滤,就能够了,过滤的方法有不少,这里我使用addslashes()函数来进行过滤。
首先增长一个过滤的函数
而后,在传入的时候,对变量进行过滤
此时再次sqlmap跑一下
这里须要注意一个问题,addslashes()函数也是有绕过的方法,因此必定要注意如下问题
1.必定不要使用gbk,会存在宽字节注入
2.在编码解码以后,必定要再次进行过滤
3.在使用这个函数以后,必定不要再使用stripslashes()函数
4.若是还要作字符串的替换的话,必定要注意其严谨性
文章首发公众号:无意的梦呓(wuxinmengyi)
这是一个记录红队学习、信安笔记,我的成长的公众号
扫码关注便可