ce安全网绿色资源分享

教程资讯|常用软件|安卓下载|下载排行|最近更新

软件
软件
文章
当前位置:首页网络安全网络安全文章 → CVE-2018-6574 Go语言任意代码执行漏洞

CVE-2018-6574 Go语言任意代码执行漏洞

时间:2018-05-03 14:39:43人气:作者:本站作者我要评论

什么是Go语言?

Go 是一个Google推出的开源编程语言,它能让构造简单、可靠且高效的软件变得更容易,且有着更高的开发效率和运行性能,因此受到了许多开发者的欢迎。

CVE-2018-6574 Go语言任意代码执行漏洞

Go 程序源码 以 *.go 结尾,通过 go build 编译成native代码。

以最简单的hello world程序为例:hello.go

  1. //  hello.go
  2. package main
  3. import "fmt"
  4. func main() {
  5.     fmt.Println("Hello, World!")
  6. }

通过go build编译出可执行程序,再运行 ./hello 。也可以直接通过 go run ./hello.go 直接在/tmp目录下编译生成可执行文件,并运行。

同时Go语言允许与C语言的互操作,即在Go语言中直接使用C代码,因为本身Go在语法等方面和C就很像,其设计者以及其设计目标都与C语言有着千丝万缕的联系。

例如下面的代码,我们可直接在Go源码文件中嵌入了C代码,并用注释包裹起来

  1. package main
  2. /*
  3. #include
  4. #include
  5. void my_print(char *str){
  6.     printf("%s\n",str);
  7. }
  8. */
  9. import "C"
  10. import "unsafe"
  11. import "fmt"
  12. func main() {
  13.     fmt.Println("Hello, World!")
  14.     s:="hello cgo"
  15.     cs:=C.CString(s)
  16.     C.my_print(cs)
  17.     C.free(unsafe.Pointer(cs))
  18. }

我们依然可以直接通过go build或go run来编译和执行,但实际编译过程中,go调用了名为cgo的工具,cgo会识别和读取Go源文件中的C元素,并将其提取后交给C编译器编译,最后与Go源码编译后的目标文件链接成一个可执行程序。

相关文章

猜你喜欢

  • Ougishi绿色版下载 V4.00 中文版

    2020-06-19 / 561k

  • 谷歌地图下载助手睿智版破解下载 V9.5绿色版

    2020-06-19 / 32.7M

  • OfficeFIX中文破解版V6.110 注册版

    2020-06-19 / 26.8M

  • Plotagraph破解版V1.2.0 免费版 32/64位

    2020-06-19 / 31.5M

  • IP查详细地址工具下载 V1.1 官方免费版

    2020-06-19 / 408K

  • 内存扫把中文版下载V1.97绿色版

    2020-06-19 / 1.3M

网友评论

验证码:

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!

最新评论

已有人参与,点击查看更多精彩评论

关于CE安全网 | 联系方式 | 发展历程 | 版权声明 | 下载帮助(?) | 广告联系 | 网站地图 | 友情链接

Copyright 2019-2029 cesafe.com 【CE安全网】 版权所有 蜀ICP备19039426号-2| 蜀ICP备19039426号-2

声明: 本站为非赢利性网站 不接受任何赞助和广告 所有软件和文章来自互联网 如有异议 请与本站联系 技术支持:ce安全网