2019.4.7

本文介绍了SQL注入的各种方法,包括基于时间、错误和内容的注入技巧,并提供了针对不同数据库(如SQLServer、MySQL和Oracle)的具体操作建议。此外,还讨论了如何枚举数据库模式、获取哈希口令及实现带外通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2019.4.7

1.英语单词计划(147,148)

2.SQL注入学习:

使用条件语句:
①基于时间注入: 使用判断+延迟的组合 (SQL Server 使用DELAY ; MySQL 使用 BENCHMARK ; Oracle 使用 count(*)多表做笛卡尔积)
②基于错误注入: 触发错误即可
③基于内容注入: 使用case+判断通过返回页面的不同来判断是否达成条件
④注入点是字符串: 使用char(108+ 判断+ case)通过返回页面的不同来判断
⑤使用Oracle 中的utl_inaddr.get_host_name(select username || ‘=’ || password from dba_users where rownum=1)通过错误消息获取用户名和密码,避免出现单引号可以用concat函数

枚举数据库模式:
①SQL Server : DB_NAME()
②MySQL : user() , current_user , select schema_name/table_name from information_schema.schemata/tables
③select table_name from user_tables , select * from user_sys_privs/user_role_privs/all_sys_privs 等等

哈希口令获取:
①SQL Server : select password_hash from sys.sql_logins
②MySQL : select name,password from mysql.user
③Oracle : select username,password from sys.user$ where type#>0 and length(password)=16 (DES 用户名)
select username,password from sys.user$ where type#=0 and length(password)=16 (DES 角色)
select username,substr(spare4,3,40) hash, substr(spare4,43,20) salt from sys.user$ where type#>0 and length(password)=62 (SHA1 口令 11g+)

带外通信:(Out Of Band)
①E-mail : 利用SMTP(e-mail消息)携带查询请求
②HTTP/DNS :
③文件系统 : 将查询的结果导入到文件中

  ps : 书上解释很少,不详细,不太理解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值