作为Web渗透的初学者,Linux基础知识和常用命令是我们的必备技能,本文详细讲解了Linux相关知识点及Web渗透免了高龄。如果想玩好Kali或渗透,你需要学好Linux及相关命令,以及端口扫描、漏洞利用、瑞士军刀等工具。安全领域通常分为网络安全(Web渗透)和系统安全(PWN逆向)两个方向。Web安全想要入门容易,想成为大佬难,通常分为三个阶段,第一个阶段是脚本小子,通过弱口令等操作拿权;第二个阶段是代码审计或自己写代码进行Web渗透;第三个阶段是进行漏洞挖掘,通过更深入的分析发现0day漏洞或APT攻击,以及提交安全报告获得奖金等。
虽然自己的安全技能非常菜,但还是希望通过不断学习、不断交流、不断分享来提升自己,也希望读者喜欢我的“网络安全自学篇”系列文章,也欢迎大家点赞、评论和关注。这篇文章是作者学习Cracer老师视频和文章的观后感,并结合自己的理解及实践做的在线笔记,特分享出来与博友们学习,希望你们喜欢,一起进步。也推荐读者学习Cracer老师的视频教程。非常基础的一篇文章,希望能够帮助到您!
作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔~
PS:本文参考了安全网站和参考文献中的文章及视频(详见参考文献),并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。
安全工具:https://github.com/eastmountyxz/NetworkSecuritySelf-study
声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。
前文学习:
[网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
[网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
[网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
[网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
[网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
[网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向
[网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
[网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
[网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
[网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
[网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
[网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)
[网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)
[网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)
[网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二)
[网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防护
[网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
[网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)
[网络安全自学篇] 十九.Powershell基础入门及常见用法(一)
[网络安全自学篇] 二十.Powershell基础入门及常见用法(二)
[网络安全自学篇] 二十一.GeekPwn极客大赛之安全攻防技术总结及ShowTime
[网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
[网络安全自学篇] 二十三.基于机器学习的恶意请求识别及安全领域中的机器学习
[网络安全自学篇] 二十四.基于机器学习的恶意代码识别及人工智能中的恶意代码检测
[网络安全自学篇] 二十五.Web安全学习路线及木马、病毒和防御初探
[网络安全自学篇] 二十六.Shodan搜索引擎详解及Python命令行调用
[网络安全自学篇] 二十七.Sqlmap基础用法、CTF实战及请求参数设置(一)
[网络安全自学篇] 二十八.文件上传漏洞和Caidao入门及防御原理(一)
[网络安全自学篇] 二十九.文件上传漏洞和IIS6.0解析漏洞及防御原理(二)
[网络安全自学篇] 三十.文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三)
[网络安全自学篇] 三十一.文件上传漏洞之Upload-labs靶场及CTF题目01-10(四)
[网络安全自学篇] 三十二.文件上传漏洞之Upload-labs靶场及CTF题目11-20(五)
[网络安全自学篇] 三十三.文件上传漏洞之绕狗一句话原理和绕过安全狗(六)
[网络安全自学篇] 三十四.Windows系统漏洞之5次Shift漏洞启动计算机
[网络安全自学篇] 三十五.恶意代码攻击溯源及恶意样本分析
[网络安全自学篇] 三十六.WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持
[网络安全自学篇] 三十七.Web渗透提高班之hack the box在线靶场注册及入门知识(一)
[网络安全自学篇] 三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二)
[网络安全自学篇] 三十九.hack the box渗透之DirBuster扫描路径及Sqlmap高级注入用法(三)
[网络安全自学篇] 四十.phpMyAdmin 4.8.1后台文件包含漏洞复现及详解(CVE-2018-12613)
[网络安全自学篇] 四十一.中间人攻击和ARP欺骗原理详解及漏洞还原
[网络安全自学篇] 四十二.DNS欺骗和钓鱼网站原理详解及漏洞还原
[网络安全自学篇] 四十三.木马原理详解、远程服务器IPC$漏洞及木马植入实验
[网络安全自学篇] 四十四.Windows远程桌面服务漏洞(CVE-2019-0708)复现及详解
[网络安全自学篇] 四十五.病毒详解及批处理病毒制作(自启动、修改密码、定时关机、蓝屏、进程关闭)
[网络安全自学篇] 四十六.微软证书漏洞CVE-2020-0601 (上)Windows验证机制及可执行文件签名复现
[网络安全自学篇] 四十七.微软证书漏洞CVE-2020-0601 (下)Windows证书签名及HTTPS网站劫持
[网络安全自学篇] 四十八.Cracer第八期——(1)安全术语、Web渗透流程、Windows基础、注册表及黑客常用DOS命令
[网络安全自学篇] 四十九.Procmon软件基本用法及文件进程、注册表查看
[网络安全自学篇] 五十.虚拟机基础之安装XP系统、文件共享、网络快照设置及Wireshark抓取BBS密码
[网络安全自学篇] 五十一.恶意样本分析及HGZ木马控制目标服务器
[网络安全自学篇] 五十二.Windows漏洞利用之栈溢出原理和栈保护GS机制
[网络安全自学篇] 五十三.Windows漏洞利用之Metasploit实现栈溢出攻击及反弹shell
[网络安全自学篇] 五十四.Windows漏洞利用之基于SEH异常处理机制的栈溢出攻击及shell提取
[网络安全自学篇] 五十五.Windows漏洞利用之构建ROP链绕过DEP并获取Shell
[网络安全自学篇] 五十六.i春秋老师分享小白渗透之路及Web渗透技术总结
[网络安全自学篇] 五十七.PE文件逆向之什么是数字签名及Signtool签名工具详解(一)
[网络安全自学篇] 五十八.Windows漏洞利用之再看CVE-2019-0708及Metasploit反弹shell
[网络安全自学篇] 五十九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及shell深度提权
前文欣赏:
[渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入
[渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法
[渗透&攻防] 三.数据库之差异备份及Caidao利器
[渗透&攻防] 四.详解MySQL数据库攻防及Fiddler神器分析数据包
Linux是一套免费使用和自由传播的操作系统内核,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统内核。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统内核。
作为Web渗透的初学者,Linux基础知识和常用命令是我们的必备技能,我们不能只会操作Windows相关的工具。一方面很多网站都是基于Linux环境搭建,比如LAMP,其安全性更好;另一方面,很多命令或工具都集成在了Linux相关环境中,比如Kali等。
常见的操作系统包括:
Unix是由美国电话电报公司AT&T贝尔实验室的两个工程师所创造的操作系统,它允许计算机同时处理多用户和程序。目前大型政府单位、大型企业、航空公司、金融机构多在使用该操作系统,但其价钱昂贵,但性能和稳定性非常好。
为什么世界上有了很棒的Unix,还要发展Linux呢?
20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和MacOS这几种。Unix价格昂贵,不能运行于PC;DOS显得简陋,且源代码被软件厂商严格保密;MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。
由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,这是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的X86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。
Linux为什么会引起如此强烈的反响呢?因为Unix有版权,爱好编程的狂热分子在研究Unix的时候很容易吃上官司 ,而Linux是遵循GPL协议的,可以免费使用,让黑客们尽情的施展(这里的黑客指那些技术大牛,不是指那些利用计算机干坏事的人)。于是Linux提供内核(Kernel),GNU提供外围软件,就这样GNU/Linux诞生了。总之,Linux是一款免费共享、稳定性好、支持开源(Open Source)的操作系统,适合个人用户或黑客使用。
Linux发展历程如下。
Linux操作系统由内核及应用程序组成,不同的厂商根据各自的需要将各种应用软件和Linux内核打包成一个Linux发行版本。Linux常见发行版本包括:
Linux优点包括:
Linux比Windows安全性更好,针对Linux的病毒和木马比较少,开源使得Linux的漏洞也更少。经过多年的发展,Linux的应用更广,服务器使用Linux后的稳定性和安全性更高,数据库、ERP、企业级Office、网站管理、RAS计算等也都开始使用Linux。当前,大部分大型互联网公司都在使用Linux提供的Web服务,包括Google搜索服务、QQ服务器、国家邮政局等都在使用Linux系统。
在安全领域,Linux主要的应用包括:
最后,如何学习Linux呢?
Linux内核版本由团队统一发布,其格式为:
比如kernel 2.6.32,其中主版本号是“2”,次版本号是“6”,修复次数是32,由于次版本号为偶数,即稳定版。内核表示操作系统核心代码。
Linux中将硬盘、分区等设备均表示为文件,磁盘分区表示如下图所示:
数字表示分区,前4个为主分区,5是逻辑分区。硬盘和分区结构如下图所示:
Linux中默认使用的文件系统类型包括:
Linux支持的其他文件系统类型包括:
如果在Windows系统中,我们选中磁盘右键属性即可查看文件类型,比如NTFS。
安装步骤为:
作者建议采用虚拟机安装Linux镜像。推荐作者前文:
[网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
初始化Linux系统操作包括:
注意:作者虽然使用Kali系统,但其语法和命令均是Linux,读者也可以安装RedHat等。
很多同学都会疑惑,如何在主机Windows系统和虚拟机Linux系统之间传输文件呢?这里需要安装虚拟工具及文件共享设置。
第一步,在虚拟机中点击“安装 VMware Tool”选项。
第二步,输入命令查看光驱挂载目录,并去到光驱指定目录。
第三步,解压tar文件至“root”目录。需要注意,当我们输入“tar zxvf VM * ”时,按下Tab键,它会自动补全后续的字符串,方便我们操作。
第四步,cd去到root目录下,并运行安装VMware Tool。注意,输入“./vmware-install.pl”也可以Tab键补全,之后的安装全部按回车键选择默认即可。
第五步,输入“reboot”重启系统即可。
文件直接拖动复制过来即可。
我们尝试用Windows远程连接Kali系统。这里采用mantra浏览器进行远程连接,这是Web渗透常用的一款浏览器,读者也可以使用其他工具,比如xshell、putty、xmanager。
OWASP Mantra是由Mantra团队开发,面向渗透测试人员、Web 开发人员和安全专业人员的安全工具套件,它是基于浏览器Chromium和Firefox,包括扩展程序和脚本集合。
第一步,调用命令查看开放端口,发现22远程连接端口未开放,安装SSH并开放端口。
注意,yum是Centos上的包管理,kali需要使用apt-get进行软件安装。
安装ssh并开启后,我们发现22端口已经处于监听状态。
第二步,设置sshd_config配置文件。
此时远程连接可能会报错“Unable to make a connection. Please try again.”,可能是由于sshd设置不允许root用户远程登录。ssh连接可以远程管理Linux设备,默认端口是22,安装好系统默认是不开启的,需要修改配置文件。
找到“#PasswordAuthentication yes”并把#的注释去掉。
将“PermitRootLogin without-password”修改为“PermitRootLogin yes”。
修改完后,按ESC键,输入“:wq!”保存退出,然后启动ssh服务。
查看ssh状态,此时处于激活状态。
接着设置开机自动启动。
最后输入“reboot”重启系统并且使用工具进行远程连接。
第三步,调用Mantra浏览器进行远程连接。
注意:SSH远程连接总是超时,而且一直未解决,还是太菜!o(╥﹏╥)o
如果我们丢失Linux密码,如何进行爆破登录呢?
第一步,在开机自检后,出现grub引导界面时,按E键进入编辑模式。
第二步,再次按下E键,接着在下图中输入“空格+s”并按下回车键。。
第三步,选择第二个,按下B键盘。
第四步,输入“passed root”,重新设置新密码。
第五步,输入新密码登录即可。
Linux目录结构如下图所示,其中最顶层“/”是根目录。熟悉Linux目录非常重要,不同的目录有不同的作用。比如,搭建网站有对应的目录,代码审计同样需要熟悉目录,文件扫描更需要知道不同目录存放的文件及相关信息。
Linux根目录中输入“ls”可以查看目录结构。
各目录的功能及含义如下:
接着我们补充一个知识点:在命令行中“#”和“$”表示什么意思呢?
它表示管理员用户,而 $ 表示非管理员或普通用户。比如我们创建一个普通用户就是 $ ,在Web渗透中,比如反弹shell后面是 $ ,接着我们需要提权变成#,提升成管理员权限进行后续操作。
创建用户
adduser eatmount
使用用户
su - eastmount
查看id
cd /etc
id
我们创建的eastmount用户对应的符号为 $ ,并且对应的id值为1000。
如果提权成功变为管理员,则对应的id值就是0,如下图所示:
写到这里,我们就开始详细讲解Linux的常用命令,接下来希望大家每个命令是实践下,为后续Web渗透打下扎实基础。Let’s GO!
Linux命令是用于实现某一类功能的指令或程序,其命令的执行依赖于解释器程序,如/bin/bash。
Linux命令的通用格式为:
命令关键字 [选项] [参数]
选项及参数含义:
- 选项:用于调节命令的具体功能
- 以“-”引导短格式选项(单个字符),比如“-l”
- 以“--”引导长格式选项(多个字符),比如“--color”
- 多个段格式选项可以写在一起,用一个“-”引导,比如“-al”
参数:命令操作的对象,如文件、目录名等
举个例子,“ls -al /home”查看home目录信息。
Linux命令行编辑的几个辅助操作包括:
下面我先讲解几个Linux的基础命令。
命令:help
Linux内部帮助命令是help,其基本使用方法如下:
命令:uname
查看系统相关信息,常用命令选项:
该命令非常重要,我们在提权中可能会碰到uname命令。提权一般基于内核的本地溢出提权,如果想本地溢出,首先需要看到本地版本号。
命令:hostname
查看系统主机名,包括主机名称、所在域的名称。
命令:ifconfig
查看系统IP信息。
命令:cat /proc/cpuinfo
查看CPU信息。
命令:cat /proc/meminfo
查看内存信息。
命令:shutdown \ poweroff
关机操作,比如“shutdown -h now”。
命令:reboot \ shutdown
重启操作,比如“shutdown -r now”。
命令:pwd
查看工具目录(Print Working Directory)。
命令:cd
切换工作目录(Change Directory),其格式为:cd [目录位置]。
命令:ls
在Linux系统中,ls相当于DOS命令的dir,Linux的隐藏文件前面有个点“.test”,具体示例如下:
ls
查看当前目录
ls /
查看根目录或文件
ls -al
查看文件所有信息,包括隐藏文件,并以长格式显示
ls -lh /
查看文件大小,以长格式显示
在Web渗透中,我们常用“ls -al”命令查看文件的权限信息。
命令:du
当我们拿到服务器之后,需要对源码进行打包或数据库进行脱库,如果库太大,Sqlmap可能会跑崩,可以尝试du查看大小“du -sh /”,再用“gzip”压缩打包下载。
命令:mkdir
当我们调用“mkdir /cdsn/eastmount”时会报错,因为根目录下没有“csdn”目录。如果想要连续递归创建多个目录,则需要增加“-p”参数,即“mkdir -p /csdn/eastmount”。
如果想要连续创建两个目录,则使用如下方法:
命令:touch
如果文件不存在则创建文件;如果文件存在,该命令的另一个作用是更新日期。在Web渗透中,该命令可以硬核的帮助我们创建文件或隐藏东西。比如我们上传了一个木马,它会有相应的新建日期,管理员很容易发现这些异常文件或信息。我们可以尝试将所有文件都更新到最新日期,调用“touch /var/www/html/*”命令实现,但其效果肯定不好,后面随着深入,会分享更好的方法。
命令:ln
br />
命令:cp
复制文件至指定位置:cp test.txt /var/www/html/
如果我们需要复制目录的话,需要增加一个递归复制参数“-r”,比如:cp -r csdn /var/www/html/
参数“-f”表示强制复制,根目录是略过目录时使用。
命令:rm
命令:mv
移动至“csdn”文件夹,如:mv test.txt /csdn
重命名文件,如:mv test.txt yxz.txt
命令:find
通过名字查某目录下所有文件,如:find /etc -name “m*.conf”,注意“*”表示通配符。
查找网站根目录下哪些文件是root,如:find / -user root
在Web渗透中,当某人上传文件并修改为root权限,我们管理员可以通过该命令查找来发现可疑文件,判断服务器是否被攻击。
命令:vi
首先,作者将帮助信息插入“eastmount.txt”文件,如下图所示:
ls --help > eastmount.txt
从第10行开始编辑,如:vi +10 eastmount.txt
如何查看行号呢,设置命令:set nu
注意,当我们输入vi进入的就是命令模式,无法进行修改。按下命令键“i”进入插入模式才能编辑,按esc退出当前模式。
在命令方式下使用某些命令会导致vi马上进入文本插入方式。在这种方式下用于的任何输入都被当作是文件的内容看待,并将其显示在屏幕上。命令包括:
查看某个文字,如:/backups。停留在某行,按两次“D”键表示删除该行内容。“6DD”表示从当前行开始删除6行内容,比如10-15行。“YY”是复制,“P”是粘贴,“U”是撤销。
底行模式:按下“ESC”键退出插入模式,在命令模式中输入“shift+:”进入底行模式,输入“10d”表示删除第10行内容,“10.15d”表示删除10-15行内容。“:10”表示光标跳转到第10行,“:…$d”表示从当前光标位置删除到最后,“ $ ”表示最后一行。
搜索和替换:
我们将“command”替换成“eastmount”,命令为:%s/command/eastmount/g
如果需要10至19行替换,命令为:10.19s/command/eastmount
行命令下使用“q”命令退出vi,如果文件做过修改, 系统将作出提示并取消此次退出操作。行命令“x”相当于“:wq”命令,在命令方式下使用命令“ZZ”等效于“:x”命令。如果由于读写权限或是更新问题,导致vi拒绝执行保存文件或退出vi的命令,那么可以在命令后加一个“!”表示强制命令。
当我们vi完成修改,需要输入“:wq!”强制保存退出。
命令:cat
命令:head
显示前10行内容
命令:tail
显示倒10行内容
命令:more
分屏查看内容,空格翻页
命令:wc
输出结果中105位行数、628位单词数、6502为字符数。
命令:history
查看历史命令
命令:gzip\bzip2
输入命令“gzip -9 eastmount.txt eastmount.txt.gz”进行高度压缩,可以看到“eastmount.txt”已经不存在,新增加“eastmount.txt.gz”大小变小。
解压缩命令:gzip -d eastmount.txt.gz
命令:tar
tar命令类似于Windows压缩工作WinRAR,但Linux压缩(gzip\bzip2)和打包(tar)文件是分开的。常用命令如下:
调用“tar -cvf test.tar yxz.txt eastmount.txt”命令将“yxz.txt”和“eastmount.txt”文件进行打包。
删除源文件,我们再调用“tar -xvf test.tar”解开文档。
接着往里面增加内容,命令为:tar -rvf test.tar csdn.txt
通常我们会先打包文件,在对其进行压缩,命令为:gzip test.tar test.tar.gz
删除文件之后解压,命令为:tar -zxvf test.tar.gz
命令:rpm
在Web渗透中,安装扫描器、后门常用安装软件包命令。
安装:rpm -ivh man*.rpm
卸载:rpm -e man
命令:yum
命令:apt-get
比如按照SSH,则输入“apt-get install openssh-server”命令。
命令:dpkg
补充一个命令,查看开启的服务,比如ssh,则输入“ls /etc/init.d”。
命令:useradd
创建用户命令如下图所示:
修改密码及查看本机有哪些用户如下图所示,包括uid和gid。
查看密码调用“cat /etc/shadow”,注意密码和用户名是分开的。
命令:userdel
命令:ifconfig
修改ip地址,临时修改用于调试,重启后ip会恢复。其中,eth0以太网。
关闭接口:ifconfig eth0 down
开启接口:ifconfig eth0 up
自动获取ip:dhclient eth0
创建多个IP逻辑接口:ifconfig eth0:1 192.168.44.140/24
接着我们补充网卡类型。
命令:hostname
命令:route
查看网关,其中0.0.0.0表示访问任何地址。
命令:netstat
netstat是Web渗透中非常重要的一个命令,查看tcp协议的网关信息:netstat -tnlp。注意,“netstat -utnlp”相当于Windows的“netstat -an”命令。
网络接口配置文件为“/etc/sysconfig/network-scripts/目录下的”,其中“ifcfg-eth0”表示第1块以太网卡的配置文件,“ifcfg-eth1”表示第2块以太网卡的配置文件,可以对网络进行配置。
命令:network
命令:ifdown eth0
禁用网络接口
命令:ifup eth0
启用网络接口
域名解析配置文件为“/etc/resolv.conf”,保存本机需要使用的DNS服务器的IP地址。
命令:chmod
Linux系统下文件权限显示如下图所示,第一个数字,数字代表的意义为:
权限分为读、写、执行,分别用一个数字代表。同时三个数字组合为一组分别表示用户、用户组、其他人的权限。显示的时候r表示文件可以被读(read),w表示文件可以被写(write),x表示文件可以被执行(如果它是程序的话)。修改的时候用数字,三位二进制刚好组成8进制。从右向左,x为第一位,十进制数字为1,w是第二位,十进制为2,r第三位,十进制为4。
权限 | 文件 | 文件夹 |
---|---|---|
r 读 | 查看文件内容 | 列出文件夹内容 |
w 写 | 修改文件内容 | 可以在文件夹创建删除文件内容 |
x 执行 | 执行文件 | 可以进入文件夹 |
如下图所示,第一个7表示用户具有读、写、执行的权限,用户组和其他人都只有读和执行的权限。
修改文件或者目录的权限,change permissions mode of a file简称chmod命令。这里设置每个人都有读写和执行权限。
chmod 777 rdp
在Web渗透中,上传木马可能会显示403,因为这个目录设置权限了,此时就需要使用该命令,如chmod 744 mm.jpg。如果需要设置某个目录下所有文件权限,则使用chmod -R 777 /csdn。
LAMP(Linux+Apache+MySQL+PHP)搭建网站通常需要安装5个包,即调用“yum -y install httpd php php-mysql mysql mysq-server”。下面详细讲解在Kali中搭建LAMP网站的过程。
第一步,启动apache。
service apache2 start
service apache2 status
第二步,启动mysql
service mysql start
第三步,验证数据库操作。
修改数据库密码
mysqladmin -uroot password 123456
访问数据库
mysql -uroot -p123456
查询数据库
show databases;
使用数据库
use mysql;
查询表
show tables;
查询数据
select * from user;
第四步,使用cd命令切到网站目录,并插入HTML代码。
cd /var/www/html
ls
echo "Hello, this is eastmount CSDN" > index.html
cat index.html
浏览器打开如下图所示:
第五步,如果外网无法访问,需要关闭防火墙“iptables -F”,比如XP访问。
第六步, leafpad编辑index.html文件,修改为PHP文件。
注意,下面第二行代码少了一个“;",作者已修改。
echo "Hi, My name is eastmount.";
phpinfo();
?>
phpinfo函数是读取网站的基本信息,之后保存并退出。接着修改后缀为php,使用mv命令,即:mv index.html index.php。
之后用火狐浏览器访问,就会出现以下界面:
注意,作者的Win10主机同样可以访问虚拟机中的该网站。
此时说明LAMP环境运行成功,可以使用命令 netstat -ant 查看端口状态:80端口为apache所使用,而3306端口为数据库mysql所使用。
第七步,读者如果想搭建更好的网站,可以直接拖动已经创建好的网站模板至“/var/www/html”文件夹。
如果提示权限不足,则使用“chmod -R 777 /var/www/html/xxx”即可。
第八部,读者如果想搭建多个网站,设置多个端口即可。
通过不同端口访问不同的网站。
后续深入会分享各个CMS模版,以及phpstudy和wordpress站点搭建、Web渗透等知识。
写到这里,Cracer学习视频第二篇文章就介绍完毕,主要包括三部分内容:
希望这系列文章对您有所帮助,真的感觉自己技术好菜,要学的知识好多。这是第60篇原创的安全系列文章,从网络安全到系统安全,从木马病毒到后门劫持,从恶意代码到溯源分析,从渗透工具到二进制工具,还有Python安全、顶会论文、黑客比赛和漏洞分享。未知攻焉知防,人生漫漫其路远兮,作为初学者,自己真是爬着前行,感谢很多人的帮助,继续爬着,继续加油!
欢迎大家讨论,是否觉得这系列文章帮助到您!同时再次推荐Cracer教程和Fox老师的文章,任何建议都可以评论告知读者,共勉。下次我再写这么长的文章或总结,我是狗!!!太难了~
武汉加油!湖北加油!中国加油!!!
(By:Eastmount 2020-03-19 下午6点写于贵阳 http://blog.csdn.net/eastmount/ )
参考文献:
[1] cracer第八期视频 - B站(强推)
[2] 百度百科 https://baike.baidu.com/item/linux/27050
[3] xshell连接虚拟机中的Kali系统 - Yasuo
[4] https://www.runoob.com/linux/linux-system-contents.html
[5] linux服务器搭建之路12-修改文件/文件夹属性和权限 - 追蜗牛的coder
[6] Web安全1.2:LAMP、LNMP环境搭建(Kali、宝塔、phpstudy)+wordpress站点搭建 - Slash · Young