A组第三周笔记汇总

Linux运维基础第三周
硬盘:os—应用程序
process(进程):用户执行应用程序的过程
权限:用户对于应用程序的执行能力
文件属主:
属组:
其他用户:
用户:多任务,多用户
Linux实现权限隔离机制(多用户)操作系统识别用户:
用户:UID
组:GID(逻辑容器:包含用户;实现多个用户对于某个文件或应用程序分配相同的权限)
用户分类:
管理员用户:root UID:0
普通用户:1000-65535
程序(系统)用户:1-999
组分类:
管理员组/普通组
基本组:Linux中,新建用户时,没有指定隶属于的组,系统会为该用户建立一个同名组,作为该用户基本组
附加组:方便以后为用户分配权限
解析:
/etc/passwd:存储用户基本信息
/etc/shadow:存储用户的影子口令
/etc/group:存放组的基本信息
/letc/passwd解释:用冒号隔开
第一列:用户的登录名
第二列:加密密码(x表示密码占位符,密码保存在/etc/shadow中)
第三列:用户的ID号
第四列:组的ID号
第五列:用户的描述信息
第六列:用户宿主目录
第七列:用户默认使用的shell( /etc / shells)
/etc/ shadow解释:用冒号隔开
第一列:用户的登录名
第二列:用户加密后的密码
第三列:最后一次更改密码时间(从1970年1月1号)
第四列:密码最小使用时间
第五列:密码最长使用时间
/ etc/ shadow密码区域解释(格式:$id$salt$encrypted) :
三部分组成:用$隔开
第一部分加密算法:
1:MD5加密
5:SHA-256加密
6:SHA-512加密
第二部分:随机序列号
第三部分:随机序列号和密码共同加密后的字符串
加密算法:
对称加密:加密和解密使用相同的密码(效率高)
非对称加密:加密和解密使用不同的秘钥,公钥和私钥
单向加密,散列加密:提取数据的特征码,常用于数据完整性校验
1:不可逆
2:定长输出
md5: 128位定长输出
sha: 160位224位256位384位512位

新建用户命令:useradd

/ etc/ default/useradd文件解释:

useradd defaults file //注释行

GROUP=100 //可以创建普通组
HOME=/ home //普通用户宿主目录位置(在/home下生成和用户同名的目录,作为用户的宿主目录)
INACTIVE=一1 //是否启用户过期停止使用权,-1代表不启用
EXPIRE= //设定过期时间,格式为20170501
SHELL=/bin/bash //设定用户的默认使用shell
SKEL=/etc/ skel //新用户宿主目录模板目录
CREATE MAILSPOOL=yes /是否为用户启用邮件通知功能
/etc/skel:目录(用户宿主目录模板目录)
.bash logout:用户注销时执行的命令
profile:用户登录系统时执行的命令(用户变量)
.bashrc:用户登录一个新shell时执行的命令
/etc/login.defs文件解释:(只对新建用户生效)
MAIL_DIR /var / spool/mail //用户系统邮件存放目录
PASS_MAX_DAYS 99999 //密码最长使用期限
PASS_MIN_DAYS 0 //最短使用期限,0代表不受限制
PASS_MIN_LEN 5 //密码最小长度
PASS WARN AGE 7 //密码过期警告时间
UID_MIN 1000 //最小UID号
UID_MAX 60000 //最大UID号
SYS_UID_MIN 201 //系统用户最小UID号
SYS_UID_MAX 999 //系统用户最大UID号
CREATE_HOME yes //是否创建宿主目录
UMASK 077 //关于权限反掩码
USERGROUPS_ENAB yes //删除用户时是否删除
ENCRYPT_METHOD SHA512 //用户密码的加密方式
用户管理:
useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage
组管理:

useradd :添加新用户(更改/ etc/passwd /etc / shadowletc/group)

useradd [options] user_name

 -c:为用户添加描述信息
 -d:指定用户的宿主目录(默认宿主目录在/home目录)
 -D:查看和改变默认的值(修改的/etc/default/useradd文件中的选项和值)
      -g:修改组
      -b:修改宿主目录  
      -f:修改过期是否停用-e:修改过期时间
      -s:修改默认shell
 -e:新建用户时,设置用户默认的过期时间,时间格式:YYYY-MM-DD
 -g:指定用户的基本组(没有该选项,Linux新建用户时,会新建一个同名组作为用户的基本组)
 -G:新建用户时指定用户的附加组,附加组可以有多个,用逗号隔开
 -m:创建宿主目录,和-k一起使用
 -M:创建用户时,不为用户创建宿主目录
 -p:创建用户时,为用户设置加密的密码(不推荐使用)
 -r:创建系统用户(不创建宿主目录,UID和GID使用系统用户ID)
 -s:指定默认shell(系统支持的shell)
 -u:指定用户的UID

passwd:为用户设置密码/锁定解锁用户/查看状态
语法:passwd [ options] user_name
root用户可以为普通用户设置密码
-l:锁定用户(暂时无法登陆系统)
-u:解锁用户
-s(大写):查看用户状态,显示/etc/shadow文件中各个字段的内容
—stdin:标准输入,经常用在shell脚本编程中为用户自动设置密码
-d:删除用户密码,允许普通用户以空密码登录(不建议使用)
-e:设置用户密码过期,,用户再次登录时,需要修改密码
-n:设置密码时设置最小使用期限,修改/etc/ shadow中第四列
-x:设置密码最大使用期限,修改/etc/shadow中第五列
-w:设置密码过期前的警告时间,修改/etc/shadow第六列
-i:修改过期后的宽限时间,修改/etc/shadow第七列
普通用户设置密码时,先验证当前密码,符合密码策略
root用户设置密码时,不需要验证当前密码,并且也可以不要求符合密码策略
/etc / shadow:保存用户密码相关信息的文件:
第一列:用户登录名
第二列:加密密码($id$salt$encrypted password)
第三列:最后一次更改密码时间
第四列:密码最小使用时间(用户无法更改密码)
第五列:密码最大使用期限(用户必须更改密码的时间)
第六列:密码过期前的警告时间
第七列:密码过期后一个宽限时间
第八列:密码失效时间
第九列:保留
usermod:修改用尸禹性(修改/etc/passwd中内容)
语法:usermod [options ] user name
-c:更改用户的描述信息
-d:更改用户的宿主目录
-e:更改用户的过期时间,格式YYYY-MM-DD-f:修改/etc / shadow第七列内容
-g:修改用户的基本组
-G:修改用户的附加组
-l:修改用户的登录名
-s:修改用户的shell(系统支持的shell程序)
-L(大写):锁定用户
-U(大写):解锁用户
chsh:修改用户的shell
语法:chsh [options] user_name
-s:后面跟shell,更改用户的shell
-l:显示当前系统支持的shell(/ etc/ shells)
finger:显示用户的基本信息
finger [options] user name
chfn:修改用户的基本信息
语法:chfn [options] user_name-o:修改办公室
-o:修改办公室
-p:修改办公室电话号码
-h:修改家庭电话号码

id:显示用户和组的ID
语法:id [ options] user_name
-a:忽略其他版本区别
-z(大写):显示安全上下文内容(selinux)
-g:显示有效组的ID
-G:显示所有组的ID
-n:不显示组号,显示名字

chage:修改用户密码的时间信息(/ etc/ shadow)
语法:chage [options] user _name
-l:列出用户的详细的密码参数、
-d:修改/etc/shadow第三列内容,后面跟日期,格式YYYY-MM-DD
-E:修改/etc/ shadow第八列内容,后面跟日期,格式rYyY-MM-DD
-I:修改/etc/shadow第七列内容,后面跟天数
-m:修改/etc/shadow第四列内容,后面跟天数
-M:修改/etc/ shadow第五列内容,后面跟天数
-w:修改/etc/shadow第六列内容,后面跟天数
http基础认证
http基础认证
首先用burp进行抓包
尝试输入密码后再次抓包,发现密码被base64位加密
所以在payload中添加base64位编码
取消 url编码这些字符
进行爆破
cookie欺骗、认证、伪造
一般将admin改为1即可
http临时重定向
重定向,其实是两次request
第一次,客户端request A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失
所以要以get方式请求
HTTP 请求方式
HTTP 请求方法
1.直接用CTFHUB访问网址
2.进行抓包,更改请求方式
Nmap使用
Nmap是主机扫描工具,他的图形化界面是Zenmap,分布式框架为Dnamp。
Nmap可以完成以下任务:
主机探测端口扫描版本检测系统检测支持探测脚本的编写
Nmap在实际中应用场合如下:通过对设备或者防火墙的探测来审计它的安全性探测目标主机所开放的端口通过识别新的服务器审计网络的安全性探测网络上的主机
端口扫描工具,即借助工具,试图了解所扫描IP提供的计算机网络服务类型(网络服务均与端口号相关),从而发现攻击弱点,常见服务对应端口号:
服务端口号HTTP80HTTPS443Telnet23FTP21SSH(安全登录)、SCP(文件传输)、端口重定向22SMTP25POP3110WebLogic7001TOMCAT8080WIN2003远程登录3389Oracle数据库1521MS SQL* SEVER数据库sever1433MySQL 数据库sever3306
Nmap进行完整全面的扫描nmap –T4 –A –v
其中-A选项用于使用进攻性(Aggressive)方式扫描;-T4指定扫描过程使用的时序(Timing),总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况良好的情况推荐使用T4;-v表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态。
Nmap用于主机发现的一些用法
-sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现
-sn: Ping Scan 只进行主机发现,不进行端口扫描。
-Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。
-PS/PA/PU/PY[portlist]: 使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现。
-PE/PP/PM: 使用ICMP echo, timestamp, and netmask 请求包发现主机。-PO[protocollist]: 使用IP协议包探测对方主机是否开启。
-n/-R: -n表示不进行DNS解析;-R表示总是进行DNS解析。
—dns-servers : 指定DNS服务器。

—traceroute: 追踪每个路由节点

Nmap用于端口扫描的一些用法
1、扫描方式选项
-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描。
-sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况。
-sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态。
—scanflags : 定制TCP包的flags。
-sI : 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)
-sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况。
-sO: 使用IP protocol 扫描确定目标机支持的协议类型。
-b : 使用FTP bounce scan扫描方式

2、 端口参数与扫描顺序
[plain] view plain copy
-p : 扫描指定的端口
实例: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9(其中T代表TCP协议、U代表UDP协议、S代表SCTP协议)
-F: Fast mode – 快速模式,仅扫描TOP 100的端口
-r: 不进行端口随机打乱的操作(如无该参数,nmap会将要扫描的端口以随机顺序方式扫描,以让nmap的扫描不易被对方防火墙检测到)。
—top-ports :扫描开放概率最高的number个端口(nmap的作者曾经做过大规模地互联网扫描,以此统计出网络上各种端口可能开放的概率。以此排列出最有可能开放端口的列表,具体可以参见文件:nmap-services。默认情况下,nmap会扫描最有可能的1000个TCP端口)
—port-ratio : 扫描指定频率以上的端口。与上述—top-ports类似,这里以概率作为参数,让概率大于—port-ratio的端口才被扫描。显然参数必须在在0到1之间,具体范围概率情况可以查看nmap-services文件。

3、 版本侦测的用法
版本侦测方面的命令行选项比较简单。
[plain] view plain copy
-sV: 指定让Nmap进行版本侦测
—version-intensity : 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。
—version-light: 指定使用轻量侦测方式 (intensity 2)
—version-all: 尝试使用所有的probes进行侦测 (intensity 9)
—version-trace: 显示出详细的版本侦测过程信息。
upload1-5题解
方法一.修改javascript代码,将.php添加到允许上传的类型中

3.上传成功

方法二:绕过前端,通过burpsuit抓包,上传一张info.jpg图片,然后抓包之后,将后缀改为.php,发包上传成功


  1. burpsuite类型type绕过,上传.php文件,然后拦截,将类型改为image/jpeg
    ,发包,上传成功

    00x03 黑名单,禁止上传.asp|.aspx|.php|.jsp后缀文件
    1.尝试通过phtml,php3,php4,php5,pht后缀名绕过

2.第二种方法是直接上传.htaccess,实现重写文件解析,可以直接上传图片自动解析成php文件。
00x04 黑名单,.htaccess上传解析
1.过滤了很多后缀文件,但是没有过滤.htaccess文件,可以重写文件解析规则绕过,上传一个.htaccess

2.然后再上传一个含有phpinfo()的jpg文件,就可以解析为php文件执行
00x05 黑名单
1.还是黑名单,且加上了.htaccess,但是没有将后缀进行大小写统一,于是大小写绕过:

相关推荐

发表评论

路人甲

网友评论(0)