这两个,是在从请求Json数据到Bean需要使用到的。...2.7' 直接获取字符串手动解析 除了这种情况,我们经常会因为后台传来的数据的不稳定性,我们需要自己手动去解析字符串,那么就引入了这个 compile 'com.squareup.retrofit2...short.class || type == Short.class) { return ScalarRequestBodyConverter.INSTANCE; } 这里会自动根据返回数据转换成你泛型里写的类型的数据....build(); .addInterceptor()可以调用多次 自定义Interceptor实现过滤改变请求返回的数据(可使用与保证APP的稳定性) import com.alibaba.fastjson.JSON...,如果服务器返回的是一个HTML网页, *那么移动端也能拿到一个Json数据,用于保证数据可解析不至于崩溃
Format-Wide: 将对象的格式设置为只能显示每个对象的一个属性的宽表。 Get-Unique: 从排序列表返回唯一项目。 Group-Object: 指定的属性包含相同值的组对象。...但如果尝试在 PowerShell ISE 的控制台窗格中运行它们,则会出现错误。...'w32time' | Get-Member # TypeName: System.String # 5.在 PowerShell 中,应始终使用单引号而不是双引号,除非带引号的字符串的内容包含需要扩展为其实际值的变量...可以使用此变量来查找可用于 cmdlet 的执行对象。 $False : 包含 FALSE。可以使用此变量在命令和脚本中表示 FALSE,而不是使用字符串”false”。...$SourceEventArgs : 包含一个对象,该对象表示从正在被处理的事件的 EventArgs 中派生出的 第一个事件参数。此变量只在事件注册命令的 Action 块内填充。
Format-Wide: 将对象的格式设置为只能显示每个对象的一个属性的宽表。 Get-Unique: 从排序列表返回唯一项目。 Group-Object: 指定的属性包含相同值的组对象。...2.并非所有的PS主机都支持 Paging 参数 例如当你尝试在 PowerShell ISE 中使用 Paging 参数时,会看到以下错误: ?...可以使用此变量来查找可用于 cmdlet 的执行对象。 $False : 包含 FALSE。可以使用此变量在命令和脚本中表示 FALSE,而不是使用字符串”false”。...$SourceEventArgs : 包含一个对象,该对象表示从正在被处理的事件的 EventArgs 中派生出的 第一个事件参数。此变量只在事件注册命令的 Action 块内填充。...,因为Byte的定义域为[0,255],一旦尝试使用一个不在定义域中的值赋给该变量就会显示一条错误信息。
请验证该目标上的服务是否正在运行以及是否正在接受请求。 有关目标(通常是 IIS 或 WinRM)上运行的 WS 管理服务,请查阅日志和文档。...描述: 从Windows PowerShell 3.0开始,您可以等待重新启动完成,然后再运行下一个命令。指定等待超时和查询间隔,并等待重新启动的计算机上的特定服务可用。...`Get Content`使用Path参数从文本文件Domain01.txt中获取计算机名列表。...,并返回sorted.txt文件中的排序项,任何错误都会写入sorterrror.txt文件。...-Name Terminate | Out-Null 5) Debug-Process 基础使用 # 1.将调试器附加到以指定字符串开头的所有进程动力壳 Debug-Process -Name "SQL
因为 AMSI 可以直接检测到 base64 以外的恶意字符串,也可以轻松解码 base64 并检测 PowerShell 命令中使用的字符串。...对于混淆部分,我们将使用从环境变量到内置 PowerShell 命令的所有功能。...接下来,我们将 HTTP 请求设置一个简单的 GET 请求。确保不要忘记回车符 \r\n。否则它不会作为 HTTP 请求。...由于 x 是一个字符串,我们可以从 x 变量中提取 -9 个字符,该字符来自: $x[-9] = i 接下来,“0x”+“FF”表示 0xFF,这是使用[字节]转换为字节的类型。...接下来,我们将上面创建的数据(带有 GET 请求的用户代理字符串)转换为字节,并将其存储在变量 $d 中,并使用我们上面创建的输出流将其写入服务器。
进程管理Get-Process:获取正在运行的进程列表。Get-ProcessStart-Process:启动新的进程。...你可以通过右键点击 PowerShell 并选择“以管理员身份运行”来提升权限。4. 使用 IEX(Invoke-Expression)IEX 可以直接执行从网络下载的脚本内容。...使用 -EncodedCommand 参数绕过执行策略如果你有一个需要执行的脚本,但不想或不能更改系统的执行策略,可以将脚本转换为 Base64 编码的字符串,并通过 -EncodedCommand...你可以先将这段脚本转换为 Base64 字符串,然后通过命令行执行:powershell -EncodedCommand SG9sZCwgd29ybGQh虽然上述方法可以帮助你在某些情况下执行 PowerShell...$encodedScript使用 IEX (Invoke-Expression): IEX 可以直接执行字符串中的 PowerShell 代码。
•Hostname:正在运行 WinRM 服务的计算机的主机名。该值必须是完全限定的域名、IPv4 或 IPv6 文本字符串或通配符。...还有一些其他配置命令: # 使用 PowerShell 查询 WinRM 状态Get-WmiObject-Class win32_service | Where-Object{$_.name -like...使用 winrm 命令 我们也可以直接通过 winrm 命令执行远程主机上的程序,通常是木马程序,这里我们尝试执行启动一个计算器: winrm invoke create wmicimv2/win32_...run image-20210804210518981 •exploit/windows/winrm/winrm_script_exec 该模块将尝试修改 PowerShell 执行策略以允许执行未签名的脚本...,然后将 PowerShell 脚本写入磁盘并自动执行以返回一个 Meterpreter 会话。
跟过来之后发现有成功请求之后保留的文件 ? 顺着这个文件hash,就可以找到目标powershell脚本了 ? 如果有vt下载权限,即可通过该hash将powershell脚本下载回来。...可以看到,样本首先是通过三次握手与服务器建立了建立,紧接着就通过get请求的方式访问了下载页面 而后面服务器返回的数据,应该就是flower01.ps的内容了 ?...根据数据包大小可以得知,返回的内容从第二个数据包开始: ? 由于是明文传输,直接复制为纯文本就可以 ? 将几个数据包的内容复制到编辑器中,脚本就从流量中提出来了 ?...post请求成功之后,服务器会返回Continue 接着客户端会尝试以1260字节大小为数据包,向服务器发送加密数据 ? 之后再次请求 ? RT6>RTJE^@dR+RUP_?”...,基本可以确定本次所使用的powershell应该是PowerShell Empire框架生成的远控,但并不复杂,也可以详细分析一下。
Equals 比较两个对象是否相同 GetHashCode 返回一个对象的数字格式的指纹 GetType 返回一个对象的数据类型 ToString 将一个对象转换成可读的字符串 # (0) 查看对象的方法...#实用的调用输出调试(而不像输出错误的信息) # (1) 采用.net对象的静态方法实用,使用Parse方法将一个字符串转换成DateTime类: [System.DateTime]::Parse("...PS > $pocketknife.corkscrew # 在调用方法时如果没有使用圆括号,方法不会执行但是可以返回方法的基本信息。...# 控制台是否接收到了一个按键请求,应当取决于用户的操作,因此该属性拒绝被更改,你只能读取它。...示例1.每一个Powershell命令都会返回一个对象,但是返回的对象不易操作(自动将对象转换成为可视化字符串) # 1.存储在$FileList变量中的并不是真实的对象,而是一个对象数组,数组可以通过索引访问得到真实的对象
推特用户@Simpo13在2月24号发布了一则推文,文中提到他正在分析的一段Powershell恶意脚本,其中包含一段base64编码的字符串“SourceFireSux”(SourceFire sucks...打开后,该文档便诱使用户启用内容。 ? 文档用Document_Open()调用另一个VBA函数。这个VBA函数就会设置一个长字符串,其中包含一个Powershell命令和将执行的代码。...恶意程序会在另一个DNS TXT记录查询中使用这个域,来尝试获取与当前阶段相关的第四阶段payload。...第四阶段payload并不能自主执行,如果仅尝试执行第四段payload,就会失败,因为第四段payload依赖于第三段Powershell脚本中的解码函数。 ? 这个函数还有其他几个功能。...跟前面步骤当中类似,这个请求也是发送给次级C2域中的“web”子域的。 ? 如果次级C2服务器返回包含字符串“stop”的TXT记录,此恶意程序就会停止活动。 ?
一直在跟踪这些尝试的 Check Point 将利用活动归因于 APT35,因为威胁行为者的攻击是使用该组织已知使用的先前暴露的基础设施仓促设置的。...用于多项任务的模块化后门 对 CVE-2021-44228 的利用会导致运行带有 base64 编码负载的 PowerShell 命令,最终从参与者控制的 Amazon S3 存储桶中获取“CharmPower...该核心模块可以执行以下主要功能: 验证网络连接- 执行后,脚本通过使用参数 hi=hi 向 google.com 发出 HTTP POST 请求来等待活动的 Internet 连接。...核心模块不断向 C2 发送 HTTP POST 请求,这些请求要么没有得到答复,要么收到一个 Base64 字符串,该字符串启动下载额外的 PowerShell 或 C# 模块。...进程– 使用 tasklist 命令获取正在运行的进程。 系统信息——运行“systeminfo”命令来收集系统信息。有更多命令,但被注释掉了。
PowerSploit是一款基于PowerShell的后渗透框架软件,包含了很多PowerShell的攻击脚本,它们主要用于渗透中的信息侦测,权限提升、权限维持等。...我们先下载PowerView.ps1脚本到本地,然后在当前目录下打开cmd,执行以下命令执行PowerView.ps1脚本中的Get-NetDomain模块,如果要执行该脚本的其他模块,亦是如此 powershell...该模块用于返回当前用户能够修改的计划任务程序的名称和路径 Get-Webconfig 该模块用于返回当前服务器上web.config文件中的数据库连接字符串的明文...) Get-ModifiablePath 该模块标记输入字符串并返回当前用户可以修改的文件 Get-CurrentUserTokenGroupSid 该模块返回当前用户参与的所有小岛屿发展中国家...Test-ServiceDaclPermission 该模块用于检查所有可用的服务,并尝试对这些打开的服务进行修改。如果能修改,则返回该服务对象。
PgUp PgDn 显示当前会话的第一个命令和最后一个命令 Enter 执行当前命令 End 将光标移至当前命令的末尾 Del 从右开始删除输入的命令字符 Esc 清空当前命令行 (V) ALT...F7查看 左/右方向键 左右移动光标 上/下方向键 切换命令行的历史记录 Home 光标移至命令行最左端 Backspace 从右删除命令行字符 Ctrl+C 取消正在执行的命令 Ctrl+...,在字符串前加‘&’可以执行命令,或者启动程序。...2.0.1.0 Appx #3.获取有关命令的信息返回每个 cmdlet 语法的 Syntax 参数 PS> Get-Command Get-Help -Syntax # Get-Help [...脚本块 在 PS 编程语言中,可作为单个单元使用的语句或表达式的一个集合。 脚本块可以接受参数并返回值。
esc 清空当前命令行 PowerShell执行外部命令 &"notepad" PowerShell命令集 以动名词来命名命令 cmd 命令在powershell中可以直接使用 get-command...# 获取所有命令列表 帮助命令走天下 get-help PowerShell别名使用 get-alias -name ls # 查询ls的原始命令 PowerShell自定义别名 set-alias...变量基础 等于号赋值 $name="xx" 特殊变量名称用花括号包围 ${"asdsad asdsd" var ()} PowerShell变量操作 支持多变量赋值 name2=1,2 查看正在使用的变量...Get-Variable num* # 查找num特定变量值 确定变量是否存在 test-path variable:num1 # 返回的是布尔值 删除变量名 Remove-Variable num1...PowerShell与其他脚本程序的互相调用 powershell直接可以执行bat、vbs、psl文件 bat调用powershell 需要使用 powershell &"文件路径" PowerShell
它是通过恶意Word文档的鱼叉式网络钓鱼电子邮件传播的,目前无法获取其中的样本。它通过PowerShell脚本对目标进行渗透,该脚本从远程服务器下载隐藏在镜像文件中的有效负载。...KingOfHearts基本功能: 任意命令执行 文件系统操作:列出驱动器和文件,删除,上传和下载数据等 列出正在运行的进程,并可终止其中任何一个 捕获屏幕截图 恶意软件开发人员没有开发复杂的功能,后门每秒通过向...它发送简单的GET请求,其中包含后门标识符和可选的受害机器信息,然后读取位于答复Cookie头中的命令。命令采用两字母代码形式(例如:“ xe”列出驱动器)。...此C ++后门还提供与KingOfHearts类似的功能,并具有执行Powershell脚本的功能。 区别在于截图捕获功能直接嵌入在程序中,而不是由单独的程序处理。...根据IAmTheKing所获取的信息类型,我们认为它是由国家赞助研发的。它的工具集正在迅速发展,并且在尝试使用非标准的通信渠道。该组织精通传统的渗透测试方法和Powershell脚本渗透。
如果一个外部命令必须用引号括起来,为了让powershell执行字符串里的命令,可在字符串前加&,这样即可让powershell执行该命令,参见这里 命令集cmdlets cmdlets是Powershell...将标量输入提交给 -match 或 -notmatch 运算符时,如果检测到匹配,则会返回一个布尔值, 并使用由所有匹配字符串值组成的哈希表填充 $Matches 自动变量。...对于查找正在运行的脚本的名称,这非常有用。 $NULL 包含 NULL 或空值。可以在命令和脚本中使用此变量表示 NULL,而不是使用字符串”NULL”。...#ipconfig的输出结果是一个数组 $ip=ipconfig $ip -is [array] 真正的Powershell命令返回的数组元素可不止一个字符串,它是一个内容丰富的对象。...Format-Wide: 将对象的格式设置为只能显示每个对象的一个属性的宽表。 Get-Unique: 从排序列表返回唯一项目。 Group-Object: 指定的属性包含相同值的组对象。
脚本的使用 PowerSploit PowerSploit是一款基于PowerShell的后渗透框架软件,包含了很多PowerShell的攻击脚本,它们主要用于渗透中的信息侦测,权限提升、权限维持等。...我们先下载PowerView.ps1脚本到本地,然后在当前目录下打开cmd,执行以下命令执行PowerView.ps1脚本中的Get-NetDomain模块,如果要执行该脚本的其他模块,亦是如此 powershell...该模块用于返回当前用户能够修改的计划任务程序的名称和路径 Get-Webconfig 该模块用于返回当前服务器上web.config文件中的数据库连接字符串的明文...) Get-ModifiablePath 该模块标记输入字符串并返回当前用户可以修改的文件 Get-CurrentUserTokenGroupSid 该模块返回当前用户参与的所有小岛屿发展中国家...Test-ServiceDaclPermission 该模块用于检查所有可用的服务,并尝试对这些打开的服务进行修改。如果能修改,则返回该服务对象。
4.设置登录触发器后,当你再次尝试使用SSMS登录时,应该会出现类似下面的错误,因为你要连接的主机名并不在当前的白名单上。 ?...我的回答是通常是在你从配置文件或反编译代码恢复连接字符串之后使用,现在我们希望使用该信息直接连接到后端SQL Server,这是应用程序渗透测试中非常常见的情况。...示例如下: 1.打开Powershell并使用自己喜欢的方式加载PowerUpSQL。下面的示例显示了如何直接从GitHub加载PowerUpSQL。...如果您正在处理.NET或Java应用程序,则可以通过反编译,并查找与正在使用的连接字符串相关的关键字来定位有关源代码。这种方法假定您可以访问应用程序程序集或配置文件。...考虑根据用户组和访问权限来限制对SQL Server的访问,而不是使用登录触发器。 在本文中,我介绍了一些鲜为人知的利用连接字符串属性来绕过SQL Server登录触发器强制执行的访问限制的方法。
Set-LocalUser "administrator" -Password "password" PowerShell具有无须安装、几乎不会触发杀毒软件、可以远程执行、功能齐全等特点,从网络安全攻防的角度...PowerShell支持的命令非常多,难以记忆使用,我们经常需要借助Get-Help和Get-Command命令查找所需的命令,并正确使用。...— [-Name] :功能是请求指定命令的帮助信息,例如-Name Get-Process。 — 参数为空时列出Get-Help自己的使用帮助。 2....在本例中,假设我们在目标计算机中执行了恶意程序“Calculator”,需要查看Calculator进程是否正在运行,最后还需要结束该进程。...操作系统会尝试逐个终止所有的进程,包括系统的核心进程,所以我们的计算机很快就会进入蓝屏“死机”状态。