2019.4.7

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 : 书上解释很少,不详细,不太理解

猜你喜欢

转载自blog.csdn.net/gw_csdn/article/details/89077126