sql注入基本总结

注释

单行注释双减号 --,多行注释/*

判断注入点

猜测列数

遍历可以得到当前表的列数

得到用户名-数据库名-版本号

遍历可得到所有表

遍历可得到所有表的列名

查找具体信息

寻找注入点时注意括号和双引号

获取WebShell

利用SQL注入攻击获取WebShell其实就是在向服务器写文件。(注意:这里我们需要得到网站的绝对路径)所有常用的关系数据库管理系统(RDBMS)均包含内置的向服务器文件系统写文件的功能。

双查询注入 用于网页不输出查询结果但是输出错误信息的情况

其中select database()可替换为返回一个值的任何查询

盲注 用于网页即不输出查询结果也不输出错误信息但是出现错误查询有不同的结果的情况

常见的SQL盲注入场景:

1、提交一个导致SQL查询无效时,会返回一个通用错误页面,提交正确则会返回一个内容可被适度控制的页面。

2、提交一个导致SQL查询无效时,会返回一个通用错误页面,提交正确则会返回一个内容不可控的页面。

3、提交受损或不正确的SQL既不会产生错误页面,也不会以任何方式影响页面输出。

基于bool的盲注

直接看例子

基于时间的盲注

和基于布尔的SQL盲注入技术原理其实大同小异,当某一状态为真时,让响应暂停几秒钟,而当状态为假时,不出现暂停

遍历可以通过网页是否立即响应变化从而通过逐个字母解析出查询结果

最后加一个python的盲注脚本

该脚本转自i春秋

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180804G0Q4JU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券