网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)
需要这份系统化资料的朋友,可以点击这里获取
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
BUU SQL COURSE 1
Linux Labs

- 启动靶机。

- 根据题目与ssh有关,并且给出了用户名和密码。使用kail进行渗透。
- SSH是一种网络协议,用于计算机之间的加密登录。它通常用于Linux系统之间的远程登录、文件传输和其他网络服务。SSH工作原理简单来说是:客户端将连接信息发送给服务器,服务器会检查客户机的身份,一旦身份验证通过,客户机就可以通过命令行界面或其他方式控制和获取服务器的数据。
- 地址和端口号均已给出,地址为node4.buuoj.cn,端口号为27993。

- 以root权限打开kail终端。
- 输入:ssh -p 27993 node4.buuoj.cn,远程登陆服务器。
- 【注】第一次输入的时候显示ssh: Could not resolve hostname,查了一下是网络的问题。尝试ping别的网站显示域名解析失败,找了很多方法都没有搞定,只知道是kail网络管理器的问题。最后只能重装kail,网络问题解决。(一定要注意kail镜像是否与主机的处理器匹配)
- 【注】****-p:指定远程主机的SSH端口,默认是22,这里修改为27993。
- 输入:ls,查看当前目录,发现为空。
- 输入:cd /,切换到根目录。
- 输入:ls,查看当前目录,发现flag.txt。
- 输入:cat flag.txt,查看文件,获得flag。

BUU LFI COURSE 1

- 启动靶机。

- 对代码进行解析。
-
<?php highlight_file(__FILE__); //高亮显示当前文件 if(isset($_GET['file'])) { //isset()判断是否存在GET参数file $str = $_GET['file']; include $_GET['file']; //include:包含并运行指定的文件,包含文件发生错误时,程序警告,但会继续执行。 } ``` * **【注】include语句包含来自GET参数file,如果攻击者通过构造恶意语句,将file参数设置为任意文件路径,就可以实现任意文件包含,并且只需要提供要包含文件的路径或文件名,无需指定其类型。PHP会自动判断文件类型并进行解析。例如:/?file=文件路径名/文件名。** * 随便输入一个文件路径,返回了一些信息。发现当前运行程序的文件路径为/var/www/html/index.php。 *  * 看到这个路径名让我想到了linux系统,查看自己的虚拟机,果然是linux系统的文件路径。 * 尝试是否能返回linux系统中的文件,按照自己虚拟机有的文件,构造/?file=/etc/hosts,成功。 *  * 猜想如果有flag文件应该是放在根目录下,尝试构造/?file=/flag.txt(/代表网站根目录),发现没有用。 * 根据include语句包含文件时无需指定其类型,尝试构造**/?file=/flag**,得到flag。 *  --- ## BUU BRUTE 1  * 启动靶机。 *  * 尝试弱口令,用户名输入admin,密码输入admin,提示密码为四位数字。说明用户名正确,直接对密码进行爆破。(也可以通过bp爆破用户名,我这纯属运气好) *  * 打开BurpSuite,打开浏览器代理(与BurpSuite设置的一致),用户名输入admin,密码随便输入,点击提交,BurpSuite成功抓包。右键将包发送给intruder。 *  * 点击测试器,修改爆破位置。 *  * 在有效载荷中设置爆破范围。 *  * 设置线程数,加速爆破。 *  * 结果发现有两种长度的返回值,分别查看,发现有请求错误,说是请求太多。猜测是短时间爆破的次数太多了,尝试减少每次访问的时间间隔。 *  *  * 经过几次尝试,确定合理的方案是单线程,时间间隔为100毫秒,即1秒钟进行10次尝试,不会导致服务端进行访问拦截。 *  * 最后爆破成功,获得flag。 *  --- ## BUU SQL COURSE 1  * 启动靶场。 *  * 点击三个测试新闻都没有发现什么线索。点击登录,看来是需要对用户名和密码进行爆破。 *  * 尝试使用弱口令,用户名admin,密码admin进行登录,提示用户名或密码错误,说明没办法单独对用户名或密码进行爆破。那这样就会很麻烦,尝试找找其他的线索。 *  * 根据题目,应该是与SQL注入有关,那应该先找到SQL的注入点。 * 发现点击测试新闻1,2,3其URL中分别对应1,2,3,存在SQL注入的可能。 *  *  *  * 按F12查看网络,发现一个查询请求,并且返回了对应的字段。 *  * 测试该点是否可以进行SQL注入。复制出该请求地址进行单独测试。 *  *  * 具体步骤: + **1、判断是否存在SQL注入** - ``` 1 and 1=1 // 成功返回字段 1 and 1=2 // 返回字段失败 ``` - and 1=2恒为假,无返回信息,故存在SQL注入的漏洞。 -  -  + **2、判断字段数** - ``` 1 order by 1 // 返回信息 1 order by 2 // 返回信息 1 order by 3 // 未返回信息 ``` - 只有1 order by 3未返回信息,说明此表只有两个字段。 **在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。** 需要完整版PDF学习资源 **需要体系化学习资料的朋友,可以加我V获取:vip204888 (备注网络安全)** **网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。** **[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.youkuaiyun.com/topics/618540462)** **一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**