Web渗透-SQL注入实战篇
1.SQL注入简介
SQL注入是web程序对用户输入数据的合法性没有进行判断,在管理员不知情的情况下进行非法操作。攻击者可以通过提交数据库查询代码,通过程序返回的结果,获取数据库中的信息。SQL注入攻击会导致数据库风险,其中包括刷库、脱裤、撞库。它是目前最危险的Web应用程序漏洞之一。
2.常见的注入类型和方式
按照数据类型分类的话主要分为数字型和字符型,按照提交方式主要分为GET型、POST型和Cookie型注入,按执行效果常见为报错注入、联合查询注入和盲注,其中盲注又可分为基于bool的和基于时间的注入。从查询语句及可看出来这里是字符型的注入同时也是GET型注入和表单注入。
数字型注入查询语句为:select * from user where id=1,字符型注入查询语句为:select * from user where search like ‘%1%’。
3.一次有趣的挖洞过程
在去某某医院进行渗透测试,晚上回到酒店闲着无聊就对其中一套放在公网上的Web系统进行测试。通过一个普通用户身份登录系统后就开始一顿操作,最后发现的漏洞还是很多的。在这里讲解下其中的SQL注入,通常先寻找注入点,在URL上发现注入点,进行尝试后发现失败了。于是尝试在添加数据的地方看有没有存储型XSS,结果很顺利的就进行了弹窗。
我又不甘心的尝试了下此处有没有注入,在添加用户名的地方输入1’,用bp抓包查看返回的参数。惊喜的发现成功报错并没有过滤掉,返回的信息是输入的SQL语法错误。这里存在注入,下面直接把抓取到的post包进行复制,存放在123.txt里。接下来直接用sqlmap进行跑,爆出如下两个数据库。
接下来选择数据库名为jncrb进行爆表,经过漫长的等待终于完成了,爆出了167个表单。
接下来就可以获取数据库中存放的信息,从这里看出SQL注入的危害是非常大的。进行到这也就先结束了,感谢各位的观看奥。