码迷,mamicode.com
首页 > 编程语言 > 详细

Python真的无所不能!连黑客技术都要用它!你知道要用哪些技术吗

时间:2018-08-18 14:26:47      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:如何   两种   一个   改变   ctypes   pytho   解码   不同   xmlrpc   

网络爱好者总是要掌握编程语言的,这里推荐:python。下面,一文了解黑客们会用到哪些Python技术!

技术分享图片

 

进群:548377875   即可获取数十套PDF哦!

技术分享图片

 

安装依赖包

很多时候读者们会发现,借助大型python社区中的python库编写的个人工具,可以帮助我们很快得到结果。你可以通过个人软件管理包或者可用的python软件包管理器安装这些库,其中最权威的就是pip工具了。有了pip,你可以全局安装这些依赖包(#pip install),或者逐用户安装($ pip install --user),或者在虚拟环境中安装((venv) $ pip install)。读者可以手动地使用个人发行版包管理器,或者基于Python3.4提供的库,安装pip包。

技术分享图片

 

如果读者们需要与包括JSON/XML的HTTP服务交互,我建议特别好用的requests依赖库。该python库可以处理与网页交互面对的各类操作,如编码、解码、参数、标记、重定向等。例如,请求和解析一个JSON资源的代码如下:

技术分享图片

 

技术分享图片

 

增加TSL加密链路也非常简单:

技术分享图片

 

上述功能也可以在已经使用的连接中实现:

技术分享图片

 

如何你不需要这些低级服务交互,还有些模块可以提供高层服务交互:

  • smtplib
  • ftplib
  • poplib
  • imaplib
  • httplib (Python 3以上版本的http客户端)
  • nntplib
  • telnetlib (应用于服务开发和之后的需要交互命令行会话)
  • xmlrpclib (Python 3以上版本的xmlrpc客户端)

5

安二进制操作或编码

当开发与服务或者文件交互的脚本时,你经常会发现需要将数据转换为不同格式或者编码。在Python2.x版本中,通常使用encode或者decode方法将字符串在不同格式之间转换。

技术分享图片

 

很可惜,这种捷径在Python3.x版本中被取消了,encode和decode方法当前只可以实现字符编码,如utf-8, cp1250, iso8859, big5等。

作为替代,你现在只能使用bytes类型的两种方法实现十六进制编码:

技术分享图片

 

对于Base64编码,你需要使用另外的模块(在Python2.x版本中也有):

技术分享图片

 

URLs编码或者解析可以用urllib.parse模块实现(Python2.x版本中是urllib)

技术分享图片

 

Python普通数据类型(如int,float,str)与二进制之间的一般转换,可以在stuct模块中实现:

技术分享图片

 

Python3.2也可以使用int类型直接获取其二进制表示:

技术分享图片

 

ctypes 模块还有一个特别棒的特征,如果你将cpython作为解译器(通常大家都是这样),就可以使用ctypes.Structure结构化描述C语言,获取它们的二进制表示,就好像从C应用程序中转储的一样。

技术分享图片

 

ctypes 模块通常是Python程序集和C语言库之间的桥梁,不需要编写任何Python包装器。有了ctypes模块,你可以使用任何C语言库和其输出函数:

技术分享图片

 

上文中提到Structure 类型主要用于C语言库的交互,在函数调用过程中传递或者获取结构。

技术分享图片

 

4

漏洞开发工具

很多CTF团体提供他们自己的的CTF解决方案框架,我发现来自Gallopsled 的pwntools框架特别有用,尤其是开发远程elf二进制时,它包含很多方便的函数,例如位移计算(通过cyclic模式)、格式化字符串开发(普通数据馈送以及产生的格式化字符串)、跳转组合(基于ropgadget解析elf二进制以及提供生成简单跳转组合调用的包装器)和不同传输通道的全部API(称作管道)。这些可以让读者们开发gdb编译后端,同时简单地改变一行代码就可以传输到目标服务。

技术分享图片

 

黑客随牛逼,但是有些东西是禁区,可不能随便去触碰哦!

Python真的无所不能!连黑客技术都要用它!你知道要用哪些技术吗

标签:如何   两种   一个   改变   ctypes   pytho   解码   不同   xmlrpc   

原文地址:https://www.cnblogs.com/Python1314/p/9497106.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!