龙空技术网

诱捕傻狍子篇:自己动手编写专属蜜罐(.NET序列之VB.NET)

网络安全小白入门 146

前言:

现时朋友们对“vbnet票据打印程序”大致比较关怀,小伙伴们都需要知道一些“vbnet票据打印程序”的相关内容。那么小编在网摘上收集了一些对于“vbnet票据打印程序””的相关内容,希望同学们能喜欢,朋友们快快来了解一下吧!

什么是蜜罐?

相信大家都知道蜜罐的主要作用是用来迷惑或者诱捕傻狍子(攻击者)的攻击行为。

通过蜜罐,我们可以清楚地知道攻击者是如何对我们实施攻击的。 一个好的蜜罐应该具备高度的交互性和真实性,要不然会比较容易被攻击者发现他们在做一些没有意义的事情!下面,我们通过例子来讲解一个最简单的蜜罐是如何编写出来的(主要是模拟HTTP服务)

代码主要实现:建立一个SOCKET套接字,用于侦听指定端口的数据,然后按照HTTP协议的规范发送报文和实体内容即可!

VB.NET语言编写

下面是一个简单的蜜罐编写例子,采用VB.NET语言编写

Button1_Click 按钮事件:创建一个新的线程来启动蜜罐的HTTP服务

StartHttpservice 蜜罐的主要工作过程代码,循环侦听以模拟响应HTTP服务

GetBytes 把字符串转换成二进制数组,在套接字当中所有的数据传输都是以二进制进行的

Imports System.NetImports System.Net.SocketsPublic Class Form1Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickDim g As New Threading.Thread(AddressOf StartHttpservice)g.IsBackground = Trueg.Start()End SubPrivate Sub StartHttpservice()Dim buffer(4095) As ByteDim length As IntegerDoDim socket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)socket.Bind(New IPEndPoint(IPAddress.Loopback, 8080))socket.Listen(100)While True'为当前连接创建一个新的客户端'Ⅳxin“安全”获取网安学习资料Dim client As Socket = socket.Accept'取得客户端请求数据长度length = client.Receive(buffer, buffer.Length, SocketFlags.None)'打印出客户端的请求HTTP头内容Debug.Print(System.Text.Encoding.Default.GetString(buffer, 0, length))'定义回复HTML实体内容,可以根据自己的情况做一些自定义的事情Dim responsebody As String = "<html><head><title>form socket server</title></head><body><h1>hello,world<br>System Time:" & DateString & " " & TimeString & "</h1></body></html>"'定义HTTP响应头报文内容Dim SendHeads As New System.Text.StringBuilderSendHeads.AppendLine("HTTP/1.1 200 OK")SendHeads.AppendLine("Content-Type:text/html;charset=UTF-8")SendHeads.AppendLine("Host:localhost")SendHeads.AppendLine("Content-Length:" & responsebody.Length)SendHeads.AppendLine("")'向客户端发送HTTP头状态信息client.Send(GetBytes(SendHeads.ToString))'向客户端发送内容部分client.Send(GetBytes(responsebody))'断开当前的客户连接client.Close()Exit WhileEnd Whilesocket.Close()LoopEnd SubPrivate Function GetBytes(text As String) As Byte()Return System.Text.Encoding.Default.GetBytes(text)End FunctionEnd Class
测试结果

下面是我在浏览器输入蜜罐的地址的测试结果

这样,我们就实现了一个最简单的蜜罐,这个蜜罐可以记录下攻击者发送的请求。

如果我们扩散一下自己的思维,我们可以在本地放一些静态页面,从蜜罐接收的请求当中把路径分离出来用于本地文件的请求,就可以实现一个基本的交互

如果需要高度的交互,又不想自己写太多的代码,则可以在本地建立一个真实的WEB环境,然后在蜜罐中分离出攻击者的请求URL用于本地的请求获取结果后,返回给攻击者,就可以实现一个真实的WEB动态交互。

由于我不太擅长文字表达太多东西,蜜罐的编写就简单描述到这里!!!

标签: #vbnet票据打印程序