渗透测试为什么要重基础、重实践?

本文通过SQL注入案例,详细解析了如何利用SQL语句判断数据库是否存在注入漏洞,以及如何获取数据库名称等信息。同时介绍了在实际操作中可能遇到的防护措施,并提供了解决方案。

我以SQL注入举例,将问题分为两个部分,先说为什么重基础。

延迟注入中对于mysql数据库可以使用sleep(),判断是否存在SQL注入。

请注意,只是判断是否存在SQL注入。如果需要获取信息,例如数据库名等,还需要和SQL语句配合。

基本的判断:www.xxx.com/a.php?id=1 sleep(5)

如果数据库执行的是 select …… from table where id='1' ,这个最基本判断的就会变成 www.xxx.com/a.php?id=1' sleep(5)。

如果想猜数据库名长度www.xxx.com/a.php?id=1' select if(length(database())=8,sleep(5),0x22)  

如果想要更复杂的变形,肯定是需要牢固的mysql基础,除非只你想先查手册。

然后为什么重实践?

在实际中可能存在很多防护,从而影响常规的SQL注入。

比如说系统过滤',这种过滤很常见。

需要根据系统过滤'的不同方法,来进行绕过。宽字节注入就是个不错的例子。

转载于:https://www.cnblogs.com/MiWhite/p/6233871.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值