HTML_Day2
HTML标签(下)1. 表格表格是实际开发中非常常用的标签: 表格的主要作用 表格的基本语法 1.1 表格的主要作用表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据 的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。 <!DOCTYPE html> Document 支出项目 单价(元) 数目 金额(元) 垃圾箱 30 12 360 垃圾牌 100 12 1200 宣传单 0.08(元) 400 32 宣传小册子 3 250 750 合计 -- -- 2342 ### 1.2 表格的基本用法 <table> <tr> <td>单元格内的文字</td> ... </tr> ... </table> 1. ` `...
HTML_Day1
HTML简介 我们接下来是进行的网页开发网页的相关概念: 什么是网页? 什么是HTML? 网页的形成? 1. 网页1.1 什么是网页: 网站是指在因特网上根据一定的规则,使用 HTML 等制作的用于展示特定内容相关的网页集合。 网页是网站中的一“页”,通常是 HTML 格式的文件,它要通过浏览器来阅读。 网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页, 常见以 .htm 或 .html 后缀结尾的文件,因此将其俗称为 HTML 文件。 1.2 什么是HTML:1. HTML 指的是超文本标记语言 (Hyper Text Markup Language) ,它是用来描述网页的一种语言。 1. HTML 不是一种编程语言,而是一种标记语言 (markup language)。 1. 标记语言是一套标记标签 (markup tag)。 所谓超文本,有 2 层含义: 它可以加入图片、声音、动画、多媒体等内容(超越了文本限制 )。 它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本 )。 1.3 网页的...
Exploit-Excercise-Nebula-7
Level 07 —— Perl脚本可执行任意文件漏洞详情:flag07 用户正在编写他们的第一个 Perl 程序,该程序允许他们 ping 主机,以检查是否可以从 Web 服务器访问它们。要执行此级别的操作,请以 level07 帐户和密码登录。此级别的文件位于 /home/flag07。 源代码如下: #!/usr/bin/perluse CGI qw{param};print "Content-type: text/html\n\n";sub ping { $host = $_[0]; print("<html><head><title>Ping results</title></head><body><pre>"); @output = `ping -c 3 $host 2>&1`; foreach $line (@output) { print "$line"; ...
Exploit-Excercise-Nebula-6
Level 06 —— 破解Linux登录密码详情:flag06账户凭据来自旧版Unix系统。要执行此级别,请以level06账户和密码level06登录。此级别的文件位于/home/flag06。 Solution:根据题目所述,flag06这个账号的认证凭据是按照传统UNIX的方法储存的——意味着密文是存储在/etc/passwd里的,而不是/etc/shadow中的——因为把密码存到passwd里不安全,所以以后的Linux发行版都将加密后的密码单独存放到/etc/shadow中的。 所以可以直接读取/etc/passwd里flag加密后的密码: 这里flag06后面跟着是密码的哈希值。 在/tmp中新建一个passwd文件内容如下: flag06:ueqwOCnSGdsuM:993:993::/home/flag06:/bin/sh 接着从http://www.openwall.com/john/ 下载john的源码包并编译(不会的请见doc/INSTALL): 但是这里我是直接在Kali Linux上用john破解的(Kali Linux上自带john): 发现fl...
Exploit-Excercise-Nebula-5
Level 05 —— 窃取机密文件详情:检查flag05目录。您正在寻找弱目录权限。要执行此级别,请以level05账户和密码level05登录。此级别的文件位于/home/flag05。 Solution:根据题目所述,在/home/flag05里,藏着一个重要的文件。我们的任务就是窃取这个文件。转到目录/home/flag05下,用ls -al命令查看列出所有文件: 根据文件名来判断重要的文件,这里有两个比较重要,第一个是.backup,第二个是.ssh,前者我们可以理解成一个备份文件,应该是重要文件的备份;后者,或许保存了私钥,如果得手,或许就可以ssh了,但是level05这个账号对.ssh的权限不够。不过.backup倒是有足够的权限进入(可以看出后面其他用户的权限是r-x,说明可以进行读和执行): .backup里有个压缩文件,需要我们解压,不可解压到当前目录,因为没有写入权限。得把它解压到/tmp(记得/tmp权限很低)中,看看有什么东西: 是备份的key,如此以来,我们就可以用私钥以flag05用户登录。把.ssh复制保存到level05的home目录中(...
Exploit-Excercise-Nebula-4
Level 04 —— 绕过限制获得token详情:这一关需要读取令牌文件,但代码限制了可读取的文件数量。想办法绕过它吧。要执行此级别,请以 level04 帐户和密码登录。此级别的文件位于 /home/flag04。flag04程序源代码如下: #include <stdlib.h>#include <unistd.h>#include <string.h>#include <sys/types.h>#include <stdio.h>#include <fcntl.h>int main(int argc, char **argv, char **envp){ char buf[1024]; int fd, rc; if(argc == 1) { printf("%s [file to read]\n", argv[0]); exit(EXIT_FAILURE); } if(strstr(argv[1], "token...
Exploit-Excercise-Nebula-3
Level 03 —— 利用计划任务提权详情:检查 flag03 的主目录并记下那里的文件。有一个 crontab 每隔几分钟就会调用一次。要执行此级别,请以 level03 帐户和密码登录。此级别的文件位于 /home/flag03。 Solution:根据官方的提示,这关有一个Crontab脚本,它会每间隔两分钟自动执行/home/flag03下的writablel.sh。(可以用nebula账号登录系统,通过sudo ls /var/spool/cron/crontabs看到Crontab的设置) crontab 是 Linux/Unix 系统中用来定时执行任务的一种机制,全称是 “cron table”。 它允许你按照设定的时间表,自动执行命令或脚本 —— 类似“闹钟”或“自动任务计划”。 而writable.sh内容如下: #!/bin/shfor i in /home/flag03/writable.d/*;do (ulimit -t 5;bash -x "$i") rm -f "$i"done 这个Cronta...
Exploit-Excercise-Nebula-2
Level 02——环境变量注入详情:以下程序中存在一个允许任意程序执行的漏洞,你能找到它吗?要执行此级别,请使用 level02 帐户和密码登录。此级别的文件位于 /home/flag02。 这关的程序存在一个可执行任意程序的漏洞,题目提供了完整的源码: #include <stdlib.h>#include <unistd.h>#include <string.h>#include <sys/types.h>#include <stdio.h>int main(int argc, char **argv, char **envp){ char *buffer; gid_t gid; uid_t uid; gid = getegid(); uid = geteuid(); setresgid(gid, gid, gid); setresuid(uid, uid, uid); buffer = NULL; asprintf(&buffer, "/bin/echo %s...
Exploit-Excercise-Nebula-1
Level 01——环境变量的利用详情:以下程序中存在一个允许任意程序执行的漏洞,你能找到它吗?要执行此级别,请使用 level01 帐户和密码登录。此级别的文件位于 /home/flag01。 flag01的源码官方已经提供,这道题目是让我们分析该代码,找出代码中存在的一处可执行任意文件漏洞。题目提供的代码如下: #include <stdlib.h>#include <unistd.h>#include <string.h>#include <sys/types.h>#include <stdio.h>int main(int argc, char **argv, char **envp){ gid_t gid; uid_t uid; gid = getegid(); uid = geteuid(); setresgid(gid, gid, gid); setresuid(uid, uid, uid); system("/usr/bin/env echo and now what?&...
Exploit-Excercise-Nebula-0
前言Exploit-Exercise是一个Linux平台下漏洞挖掘、分析的练习平台。下载地址 官方提供了个很多虚拟机、文档、挑战题目,用于学习各种计算机安全问题,如权限提升、漏洞分析、Exploit开发、调试、逆向工程和通用的网络安全问题。 Level 00——寻找特权程序简介:这一关需要你找到一个以“flag00”账户运行的“设置用户 ID”程序。你也可以通过仔细检查/目录下的顶层目录中是否存在可疑目录来找到它。 Solution:根据题目描述,本关需要在系统中搜索一个设置了SUID的程序,这个程序将是以flag00身份运行的。 SUID(Set User ID)是 Linux 和 Unix 系统中一种特殊的文件权限机制,常用于可执行文件。它允许普通用户在运行该程序时临时获得该程序文件所有者的权限,通常是 root 权限。 要完成本关,需要掌握find命令的用法。find命令的格式如下: find [path...] [expression] expression可以跟选项。根据题目要求,我们要查找一个所属于flag00账号的可执行程序。find有一个选项叫-uid,后面跟...