草庐IT

渗透测试02

xiaoxuxu 2023-03-28 原文

Linux基础上

一、Linux系统的介绍、安装、密码的破解

1、Unix:允许计算机同时处理多用户和程序。目前大型政府单位,大型企业、航空公司、金融机构多在使用,价格昂贵,和硬件配套一起卖,性能和稳定性相当地好。

2、大部分大型互联网公司都在使用Linux提供web服务;

3、Linux内核版本

XX(主版本号).YY(次版本号).ZZ

如:2.5(奇数表示开发版).7 、

​ 2.6.18(一般找此版本号为偶数的,偶数的为稳定版)

Linux发行版可以自由选择使用某个版本的内核。

4、磁盘分区表示:Linux中将硬盘、分区等设备均表示为文件。

文件系统类型

Linux中默认使用的文件系统类型:

EXT3,第三代扩展(Extend)文件系统

SWAP,交换文件系统

安装

二、Linux系统目录结构,常用的命令

文件系统类型

Linux中默认使用的文件系统类型:

EXT3,第三代扩展(Extend)文件系统

SWAP,交换文件系统

三、Linux系统网络配置

Linux基础中

(建议参考:https://mp.weixin.qq.com/s?__biz=MzUyMTA0MjQ4NA==&mid=2247535706&idx=3&sn=d09cc6685fbaa35d994fdd6d6edff50f&chksm=f9e32301ce94aa175dc5113147c5d54d6f22749de92d4b9c27d223c575b42fd62640fd155a04&scene=90&subscene=93&sessionid=1664331604&clicktime=1664331610&enterid=1664331610&ascene=56&fasttmpl_type=0&fasttmpl_fullversion=6349498-zh_CN-zip&fasttmpl_flag=0&realreporttime=1664331610836&devicetype=android-30&version=28001b59&nettype=ctnet&abtest_cookie=AAACAA%3D%3D&lang=zh_CN&session_us=gh_8afb1d49c6bb&exportkey=A%2F0%2BeUPbu2CYiCigTIcGOpE%3D&pass_ticket=%2F88OEVcjJ8JGA0lbYXzM%2BN5usAa%2BuNTL7Ei44gR0Z6YUXCiYrXxiq5930dMX%2BofM&wx_header=3)

1、常用文件夹的作用:

/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。

/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容

/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。

/root:该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序(即管理员才能使用)。

/selinux :美国安全局开发的,用于对一些程序进行控制,安全性较高。

/srv:该目录存放一些服务启动之后需要提取的数据。

/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

/tmp:这个目录是用来存放一些临时文件的。

/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

/usr/bin: 系统用户使用的应用程序。

/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。

/usr/src: 内核源代码默认的放置目录。

/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

/var/www/html :网站的根目录

2、常见的问题

2.1、命令提示符中的 “#” 表示:root登入的管理员权限。

2.2、如何从字符界面切换到图形界面?

CTRL+alt+F2 可以切换到字符界面(命令行界面);

CTRL+alt+F21 可以切换到图形界面。

3、Linux常用的命令

  • Linux命令:用于实现某一类功能的指令或者程序。

    命令的执行依赖于解释器程序(例如:bin/bash)

  • Linux命令的分类

    内部命令:属于shell解释器的一部分

    外部命令:独立于shell解释器之外的程序文件

  • Linux命令格式

  • 命令行编辑的几个辅助操作

    1.Tab键:自动补齐

    2.反斜杠'/":强制换行

    3.快捷键Ctrl+U:清空至行首

    4.快捷键Ctrl+K:清空至行尾

    5.快捷键Ctrl+L:清屏

    6.快捷键Ctrl+C:取消本次命令编辑

  • 查看系统内核信息——uname

    • 查看系统相关信息

    • 常用命令选项:

      • -a :显示主机名、内核版本、硬件平台等详细信息
      • -r : 显示内核版本

  • 其他常见的命令:hostname、ifconfig、route(查看路由)

  • 查看CPU信息:cat /proc/cpuinfo

  • 查看内存信息:cat /proc/meminfo

  • 关机:halt;重启:reboot

  • 查看及切换目录:

    pwd:查看工作目录

    cd:切换工作目录

    ls:列表显示文件目录

    下图划分的三个部分中,以一个部分为例,r可以用4表示,w可以用2表示,x可以用1来表示,,rwx共可以用一个 7 来表示权限,下图中专门有一列数字7。

    chmod : 改写文件或者目录权限

    du :统计目录及文件的空间占用情况

    mkdir :创建新的目录

    touch :新建空文件,或者更新文件的时间标记(文件内容不变)

    ln :为文件或者目录创建链接(link)

    cp : 复制文件或目录

    rm:删除文件或者目录

    mv:移动文件或者目录

    find:查找文件或者目录

    Linux基础下

    vi:进入vi编辑器,常用的选项有:

    • -r 恢复系统突然崩溃时正在编辑的文件
    • -R 用于已只读的方式打开文件
    • +n 用来指明进入vi后直接位于文件的第n行,如果不指定n ,则位于最后一行。

    自学vim编辑器的常见用法(参考: https://www.linuxprobe.com/basic-learning-04.html):

    底层模式下:号后输入 set nu 可以显示文件的行序号

    cat :显示出文件的全部内容。

    wc: 统计文件中的单次数量 字节数 行数

    gzip 、bzip2 :归档和压缩命令

    • 只针对单个文件压缩或
    • -9 显示高压缩比
    • -d 释放压缩文件,即解压缩
    • gzip 文件名 压缩文件 格式为后缀有 .gz
    • bzip2 文件名 压缩成的文件名 格式为 文件名.bz2 它相对与gzip压缩率更高

    tar :用于压缩和解压缩文件,能够制作出Linux系统中常见的.tar、.tar.gz、.tar.bz2等格式的压缩包文件。

    rpm : 红帽软件包管理器,其功能是用于在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作。

    yum : 用于在Linux系统中基于RPM技术进行软件包的管理工作,yum软件仓库及命令能够自动处理软件依赖关系,一次性安装所需全部软件,无需繁琐的操作。

    apt-get : 用于管理服务软件。apt-get命令主要应用于Debian、ubuntu等系统,能够像yum/dnf软件仓库一样自动下载、配置、安装、卸载服务软件,用户只要准确提出需求就好~

    dpkg : 管理软件安装包,在Debian系统中最常用的软件安装、管理、卸载的实用工具。

    chown :其功能是用于改变文件或目录的用户和用户组信息。管理员可以改变一切文件的所属信息,而普通用户只能改变自己文件的所属信息。

    4、Linux网络系统配置

    网卡类型

    网络接口配置文件

启用、禁用网络接口配置

  • 重启network网络服务 :service network restart
  • 禁用、启用网络接口 :ifdown eth0 、ifup eth0

域名解析配置文件

/etc/resolv.config文件 保存本机需要使用的DNS服务器的IP地址

在Linux上搭建网站

网络基础

略(自己去看计算机网络)

(零基础必看课程完结!!!)

有关渗透测试02的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  3. ruby - Ruby 的 Hash 在比较键时使用哪种相等性测试? - 2

    我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。

  4. ruby - RSpec - 使用测试替身作为 block 参数 - 2

    我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere

  5. ruby - Sinatra:运行 rspec 测试时记录噪音 - 2

    Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/

  6. ruby-on-rails - 迷你测试错误 : "NameError: uninitialized constant" - 2

    我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test

  7. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  8. ruby-on-rails - 如何使辅助方法在 Rails 集成测试中可用? - 2

    我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel

  9. ruby-on-rails - Cucumber 是否只是 rspec 的包装器以帮助将测试组织成功能? - 2

    只是想确保我理解了事情。据我目前收集到的信息,Cucumber只是一个“包装器”,或者是一种通过将事物分类为功能和步骤来组织测试的好方法,其中实际的单元测试处于步骤阶段。它允许您根据事物的工作方式组织您的测试。对吗? 最佳答案 有点。它是一种组织测试的方式,但不仅如此。它的行为就像最初的Rails集成测试一样,但更易于使用。这里最大的好处是您的session在整个Scenario中保持透明。关于Cucumber的另一件事是您(应该)从使用您的代码的浏览器或客户端的角度进行测试。如果您愿意,您可以使用步骤来构建对象和设置状态,但通常您

  10. ruby-on-rails - 如何调试 cucumber 测试? - 2

    我有:When/^(?:|I)follow"([^"]*)"(?:within"([^"]*)")?$/do|link,selector|with_scope(selector)doclick_link(link)endend我打电话的地方:Background:GivenIamanexistingadminuserWhenIfollow"CLIENTS"我的HTML是这样的:CLIENTS我一直收到这个错误:.F-.F--U-----U(::)failedsteps(::)nolinkwithtitle,idortext'CLIENTS'found(Capybara::Element

随机推荐