admin管理员组

文章数量:1794759

渗透自学(一)基础知识

渗透自学(一)基础知识

第一天基础:

         域名收集的目的:多个突破口

         CDN:会使你无法获得真实的ip地址,仅为分发网络的子系统,非源系统,攻击CDN所传达的ip地址无效

         常见DNS攻击:DNS劫持、DNS缓存投毒:解析恶意地址

         脚本语言类型:javaweb(适合中大网站)、.php(适合小网站)、.asp、aspx、.jsp、.pl、.py、.cgi(国外常用)

         后门:webshell,文件上传、更改免杀(白名单)

         app封装网站

         WEB组成架构模型:

  • 网站源码:分脚本类型,分应用方向
  • 操作系统:windows,linux
  • 中间件(搭建平台):apache iis tomcat Nginx等
  • 数据库:access mysql mssqlserver oracle Sybase db2 postsql
  •          Web源码类漏洞:

  • sql注入
  • 上传文件
  • xss
  • 代码执行
  • 变量覆盖
  • 逻辑漏洞
  • 反序列化
  •          域名枚举

    第二天基础:

             Cookie:cookie是在浏览器中积存的小型数据体,可用于记载和服务器相关的用户信,,也可以实现会话功能(登陆存活)。浏览器用该属性向服务器发送cookie。

             Referer:表明产生请求的网页URL。可用于追踪web请求的网站来源。也可以伪造来源页。例子:从网页/icconcept/index.jsp中点击一个链接到网页/icwork/search,在向服务器发送的GET/icwork/search中的请求,Referer则为hostname:8080/icconcept/index.jsp

             POST和GET的区别:

                       POST的数据存在于请求体中,即数据包的最下面

                       GET的数据存在于开始

    HTTP响应码:

                       1xx:信,请求收到,继续处理

                       2xx:成功,行为被成功接收或理解

                       3xx:重定向,为完成请求,重定向采取的行为

                       4xx:客户端错误(本地)

                       5xx:服务器错误

    墨者在线靶场

    第三天基础

             目录扫描:可能情况,扫描ip地址,则扫描文件根目录;扫描域名,则扫描的可能是根目录其中一个文件夹;若服务器配置了域名和路径的对应关系,则结果将有所不同

                                可用于扫描出备份源码

             目录/文件操作权限:可将某特定目录的匿名用户(来宾用户(IUSR_IIS6CN))的操作权限中“写入”权限拒绝,防止被放入后门程序,但不能所有目录都设置这样的权限,因为通常还有其他必须的脚本文件是要被系统所执行

             Mysql+php  sqlserver+asp/aspx 

    第四天基础

             数据库配置文件:包含数据库连接信,例如数据库的账号密码等

             脚本类型源码不同,安全问题不同

             网站类型不同对应不同的代码机制也对应不同的安全问题:社交、论坛、电商、博客等

             源码获取路径:源码之家、菜鸟源码、咸鱼、第三方,可能涉及黑灰产

             总结:关注应用分类及脚本类型猜出可能存在的漏洞(框架漏洞可能是必定存在的),在获取源码后在本地进行安全测试或代码审计,也可以分析其目录工作原理(数据库备份、bak文件等),尽量获取源码

            

             .mdb文件,只有asp有

             cms(内容管理系统)指纹识别:powerb by xx,随后搜索xx的漏洞。

    手工识别:经验判断,从F12 network中,找到不同寻常的特别的文件或路径例如zblogphp.js、index/login/login/token/等并在搜索引擎上搜索,从而确定cms

    工具识别:扫描cms特有文件判断

    在线识别:云悉

                       攻击例子(1电商 抓包更改订单提交数量、或支付金额

                       顺序:第一步:检查框架漏洞;第二步,检查相应cms漏洞;第三步,检查开源(找漏洞或者代码审计)或内部(常规渗透测试),第四步,获取源码(获取备份、识别cms,如果是特定源码‘黑灰产’,则想办法获取)

                      

    第五天基础(系统数据库)

             系统层

                      系统类型判断:windows路径大小写不敏感,linux路径大小写敏感

             (不准确)TTL小于125可能是windowNT2000 TTL小于63可能是linux或者win7、win10

                                NMAP –O 探测系统类型

                      漏洞:获取权限问题、远程控制类

             数据库层

                       静态网页没有漏洞、动态网页有数据传输有漏洞

                       根据不同脚本类型可以找到常见的数据库+脚本语言组合,常见如下

                                ASP+access  aspx+mssql php+mysql jsp+mssql,oracle python+sqlite

                                注意:access和mssql是windows专用

                       端口扫描方式确定数据库类型:mysql3306 oracle1521 sqlserver1433 mongDB27017 redis6379 memcahed11211

                      常见攻击手段:弱口令、权限

             第三方层

                       涉及系统控制,如远程控制teamview、vsftpd漏洞、根据第三方软件版本的漏洞

             补充:根据服务器提供的服务不同,也可以作为安全测试目标,要多层面攻击

            

    第六天基础(加密算法)

             HASH不可逆:

    MD5(有十六进制类型):

             加密:不可逆加密

             解密:枚举法

             加‘salt’:解密格式:【密文】:salt

             写法积累:md5(md5($pwd).$salt)(md5加密后加盐再进行md5加密)

                       SHA(十六进制组合):

                                1 :         40位

                                256 :     64位

                                384:       96位

                                512:      128位

             可逆:

                       非对称加密算法:

    公钥告知对方,对方用公钥加密信后,发送给我,只有我可以用自己的私钥来解密,其他不行,除非协商公钥私钥的数据包被截获。

    常见有RSA、Elgamal

                       对称加密算法:

                                DES(‘+’)(56位密钥+8位奇偶校验):第8*n位(1<=n<=8)

    3DES(‘+’)(两个不同的56位密钥):加密两次    

                       AES(‘/’)(高级加密标准):

    加密方式越多越强,例如:填充、数据块(位数越高越安全)、密码(额外干扰)、偏移量(从x位开始加密),当对密码进行解密得到乱码时,怀疑是AES加密。

                                解密时,密码和偏移量较为重要,填充与数据块可自由有限组合

             时间戳:从1970.1.1开始到现在的时间之差。用于验证信可信

             URL编码:

    URL只能使用英文字母、阿拉伯数字和某些标点符号,当其他符号出现时会被%+【数字】替换,一个中文由GB2312编码后得到如%B4%BA的结果,绕过可能会用

    ‘【空格】’=  %20  ‘1’=     %31

    ‘春节’=       %B4%BA%BD%DA

                       二次转码:1=%31=%25%33%31

             BASE64编码(区分大小写)(‘=’、‘==’):

                       通常是原文的四分之三倍长度,可能用于对源代码进行安全加密

             Unescape:特征为‘%u’开头,并且一次转换2个字符,单数时%u0000,双数时正常

             总结:了解加密算法的特性,例如长度、字符规律、代码分析、搜索引擎查找相似等,

    常见加密算法解析:带‘salt’、密码、偏移量、位数、模式、干扰参数、自定义组合等、-wp(wordpress)加密形式、-dz(dicuz)加密形式

    常见解密方式:枚举、自定义逆向算法、可逆

            

    第七天基础

             信收集-CDN绕过

                       绕过CDN子系统缓存的地址,与目标地址不同

                       若用多个ip去ping一个域名时,返回都是同一个ip地址,则认为不存在CDN

                       管理员为节省成本,可能仅把用户常访问的主要站点加入cdn,而鲜受访网站则仍留在本地(真实ip地址)

                       CDN对安全测试的影响:无法获得真实地址

                       常见CDN绕过技术:

  • 子域名查询:
  • 管理员为节省成本,可能仅把用户常访问的主要站点加入cdn,而鲜受访网站则仍留在本地(真实ip地址)

    m.xxx

    引擎:asm.ca./en/ping.php

    黑暗引擎

    子域名采集:

  • 搜索子域名查询
  • 网站如果有发送邮件的功能,例如邮件接收验证码方式等,查看邮件源码可获得可能的真实ip地址,结合国外地址查询方式加强确认(仍不一定确认)
  •           

  • 邮件服务查询:
  • 因只有内部使用,不需要cdn,所以大概率是真实ip地址

  • 国外地址请求:  搜索:get-site-ip x.threalbook
  • 用国外代理服务器访问,可能可以获得真实ip地址

  • 遗留文件:
  • 可能涉及配置信的文件没删除

  • 扫描全网:超级ping筛选
  • Fuckcdn w8fuckcdn(弱) zmap(过时)

  • 黑暗引擎搜索特定文件:
  • 引擎:shodan(更强)、钟馗之眼、fofa

    特定文件:哈希md5、.ico文件等

  • dns历史记录:肉鸡
  • 大量数据访问,使CDN子系统流量耗尽,此时将会寻找真实地址

                       若访问xxx时跳转了www.xxx,则没有cdn

    本文标签: 基础知识