最摆的一集

Golang逆向初探

配合IDAGolangHelper,可以很轻松的重命名函数,得到一个勉强可读的伪代码

用法:File - Script File 选择go_entry.py

image-20230528212123410

选择一个合适的Golang版本,点击Rename functions,效果如下
image-20230528212253462

已知问题: IDA 7.5可能无法正常使用,部分情况下可以参考IDA Pro7.5 && Python3 not working · Issue #22 · sibears/IDAGolangHelper (github.com)尝试修复,但可能仍然不起作用

ASP.NET on Linux

requirements:

  • Microsoft Visual Studio
  • Docker Desktop

.cshtml类似于.phtml文件,可以执行c#代码,但.cshtml还包含了一个.cs文件。

image-20230528213532483

利用这一点,可以做一个任意命令执行的东西,比如写一个框,传入参数并执行

分别在index.cshtml.cs下和index.cshtml下写入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void OnPost(string cmd = "date") 
{
var processStartInfo = new ProcessStartInfo
{
FileName = "/bin/sh",
Arguments = $"-c \"{cmd}\"",
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true,
};

Process process = new Process { StartInfo = processStartInfo };
process.Start();

CommandOutput = process.StandardOutput.ReadToEnd();
process.WaitForExit();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}

<div class="text-center">
<h1 class="display-4">Welcome</h1>
<form method="post">
<input type="text" name="cmd" />
<input type="submit" value="Summbit" />
</form>
<p>Result:</p>
<pre>@Model.CommandOutput</pre>

</div>

效果如下

image-20230528214050554

Python Shell

国赛的时候学到的一个,Python交互式命令行中,_代表上一行命令的结果,利用这一特性

终端中一次输入

1
2
3
4
"/flag"
open(_)
_.read
_()

QQ图片20230528214514