今天不讲别的 来个小插曲 ———— 网络安全
浅谈网络安全
随着互联网技术的成熟,已经5G的到来,网络安全越来重要。护网刚开始就有大佬爆出大厂的0day。
也有不少人 利用技术 做一些 没良心的事情——网络诈骗。(情绪激烈)
目前主流的还是web安全,保护企业网站安全。既然是web领域,最好要对web框架有所了解。端口,服务,进程之类的。
进程基本概述
1.什么是进程
当我们运行一个程序的时候,那么运行的程序就是一个进程
PS:当程序运行为进程后,系统会为该进程分配内存,以及进程运行的身份和权限。
PS:在进程运行的过程中,服务器上会有各种状态来表示当前进程的指标信息。
2.程序和进程的区别
程序是数据和指定的集合,是一个静态的概念,比如/bin/ls /bin/cp 等二进制文件,同时程序可以长期存在系统中。
进程是程序运行的过程,是一个动态的概念,进程是存在生命周期的,也就是说进程随着程序的终止而停止,不会永久存在系统中。
3.程序的生命周期
一个对象从无到有 从有到无的过程称为生命周期(就绪态 执行态 僵死态 停止态 睡眠态)
当父进程接收到任务调度时,会通过fock派生子进程来处理,子进程会继承父进程衣钵(相当于完全复制一份父进程的信息)
1.子进程在处理任务代码时,父进程会进入等待状态 2.子进程在处理任务代码后,会执行退出,然后唤醒父进程来回收子进程的资源 3.如果子进程在处理任务过程中,父进程退出,子进程没有退出,子进程没有被父进程管理,则变成僵尸进程 4.每个进程都有自己的PID号,子进程称为PPID
好像又扯到linux系统了。。。。
主流的web服务 ,nginx ,tomcat,apache,iis,等
每个服务都对应着自己的端口
比如
80 http 443 https 8080 porxy tomcat 3306 mysql 22 ssh 21 ftp 23 telnet 。 。。。。。
然后去收集信息 ,信息多,渗透的思路就多,查找是否存在漏洞,然后进一步获取shell。
判断网站对应操作系统
win server 服务器
在linux系统中 是严格区分大小写 windows 不区分大小写 eg:https://www.luffycity.com/free-course
eg: https://www.luffycity.com/free-coursE
还能正常访问 所以可以判断为windows server 系统
linux服务器
eg: https://www.lvxinjie.cn/archives/openresty
eg: https://www.lvxinjie.cn/archives/openrestY
robots协议
域名后面接上robots.txt 有的不会显示
域名
ping 命令 获取ip地址
站长之家 域名查询,子域名,二级域名等
CMS 指纹识别
推荐一款google wappalyzer插件 ,具体识别cms,以我自己的博客为例
Google hack 搜索
参考链接:https://www.cnblogs.com/jerrylocker/p/10956631.html
1、intext:(仅针对Google有效) 把网页中的正文内容中的某个字符作为搜索的条件 2、intitle: 把网页标题中的某个字符作为搜索的条件 3、cache: 搜索搜索引擎里关于某些内容的缓存,可能会在过期内容中发现有价值的信息 4、filetype: 指定一个格式类型的文件作为搜索对象 5、inurl: 搜索包含指定字符的URL 6、site: 在指定的站点搜索相关内容 其他GoogleHacking语法: 1、引号 '' " 把关键字打上引号后,把引号部分作为整体来搜索 2、or 同时搜索两个或更多的关键字 3、link: 搜索某个网站的链接 典型用法: 1、找管理后台地址 site:xxx.com intext:管理|后台|登陆|用户名|密码|系统|账号 site:xxx.com inurl:login/admin/manage/manager/admin_login/system site:xxx.com intitle:管理|后台|登陆 2、找上传类漏洞地址: site:xxx.com inurl:file site:xxx.com inurl:upload 3、找注入页面: site:xxx.com inurl:php?id= 4、找编辑器页面: site:xxx.com inurl:ewebeditor
Nmap 端口扫描
主机发现
-iL 从文件中加载IP地址 -sL 简单的扫描目标 -sn Ping扫描-禁用端口扫描 -Pn 将所有主机视为在在线,跳过主机发现 -PS[portlist] (TCP SYN ping) -PA[portlist] (TCP ACK ping) -PU[portlist] (UDP ping) -PY [portlist] (SCTP ping) -PE/PP/PM ICMP回显,时间戳和网络掩码请求探测 -PO[协议列表] IP协议Ping -n/-R 从不执行DNS解析/始终解析[默认:有时] --dns-servers 指定自定义DNS服务器 --system-dns 使用OS的dns服务器 --traceroute 跟踪到每个主机的跃点路径
扫描技术
-sS 使用TCP的SYN进行扫描 -sT 使用TCP进行扫描 -sA 使用TCP的ACK进行扫描 -sU UDP扫描 -sI Idle扫描 -sF FIN扫描 -b FTP反弹扫描
端口规格和扫描顺序
-p 扫描指定端口 --exclude-ports 从扫描中排除指定端口 -f 快速模式-扫描比默认扫描更少的端口 -r 连续扫描端口-不随机化 --top-ports 扫描<number>最常用的端口
服务/版本探测
-sV 探测服务/版本信息 --version-intensity 设置版本扫描强度(0-9) --version-all 尝试每个强度探测 --version-trace 显示详细的版本扫描活动(用于调试)
脚本扫描
-SC 等效于 --script=defult --script = <lua scripts>,<lua scripts> 以逗号分隔的目录,脚本文件或脚本类别 --script-args = <n1=v1, n2=v2> 为脚本提供参数 --script-args-file=文件名 从文件名中加载脚本参数 --script-trace 显示发送和接受的所有数据 --script-updatedb 更新脚本数据库 --script-help=<lua scripts> 显示有关脚本的帮助
操作系统检测
-o 启用os检测 --osscan-limit 将os检测限制为可能的目标 --osscan-guess 推测操作系统检测结果
时间和性能
--host-timeout 设置超时时间 --scan-delay 设置探测之间的时间间隔 -T <0-5> 设置时间模板,值越小,IDS报警几率越低
防火墙/IDS规避和欺骗
-f 报文分段 -s 欺骗源地址 -g 使用指定的本机端口 --proxies <url,port> 使用HTTP/SOCK4代理 -data<hex string> 想发送的数据包中追加自定义的负载 --data-string 将自定义的ACSII字符串附加到发送数据包中 --data-length 发送数据包时,附加随机数据 --spoof-mac MAC地址欺骗 --badsum 发送带有虚假TCP/UNP/STCP校验和的数据包
输出
-oN 标准输出 -oX XMl输出 -oS script jlddi3 -oG grepable -oA 同时输出三种主要格式 -v 信息详细级别 -d 调试级别 --packet-trace 跟踪发送和接收的报文 --reason 显示端口处于特殊状态的原因 --open 仅显示开放的端口
其他
-6 启动Ipv6扫描 -A 启动Os检测,版本检测,脚本扫描和traceroute -V 显示版本号 -h 帮助信息