首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

P​ython安全开发与测试

无意翻到了自己在安全牛学习python安全课程所做的笔记,已经好久了,都忘得差不多了!

中间老师停更,自己也就断了学,也把注意力放在了其他上面了,现在把之前做的笔记放上留个纪念。python是我自学的第一门编程语言,特变感谢python带我进入了计算机编程的大门,虽然很菜,很渣!但是仍懂得努力ing!

python安全开发与测试

python安全开发与测试 【1-1】

老师的博客https://timesong.github.io

在开始课程之前需要安装虚拟机,在该环境下安装kali系统。

课程内容与python脚本、渗透测试相关知识《python黑帽子》。

在学习python安全编程过程中一定要动手实践,学会正确提问,提升自己独立解决问题的能力。遇到问题可以首先谷歌百度,浏览一些相关博客寻找答案。

接下来开始正式学习-----python安全开发与测试课程。

Python安全开发与测试【1-2】入门python

在window下安装python3.6软件,新人安装需要自行百度,网上图文教程很多。一步一步来就行。

熟悉掌握python3的基本语法,最好在IDE里面自己动手都敲一遍(我用的pycharm),熟能生巧嘛!为后续编程实践准备。个人感觉【菜鸟教程】不错,当然百度,谷歌,知乎,CSDN上有很多!可以自行百度学习。认真学习python入门,为后续实战准备!如图

python安全开发与测试【1-3】环境搭建

安装虚拟机软件,我用的Vmware软件。

下载window7和Kali镜像文件。参考【下载地址】

在虚拟机Vmware上安装window7和Kali系统,并在window7上下载安装python-IDE,这里用的是pycharm社区版。

具体安装步骤可参考网上图文教程,熟悉虚拟机与pycharm功能设置。总之自己要主动点,学会自己找答案,网上有很多别人走过的坑!学会主动搜索!谷歌是个好老师¥

终于,终于下节课可以实战了,自己一定要坚持啊!

python安全开发与测试【1-4】编写TCP客户端,服务端

学习本课之前最好了解客户端与服务端如何请求和响应的。以熟悉python中socket库的使用,具体可以百度。

以下是动手编写的及其实现效果:

python安全开发与测试【1-5】TCP端口扫描

了解了TCP3次握手原理

使用python编写TCP端口扫描工具

以下为本人跟着老师编写的代码以及执行效果

python安全开发与测试【1-6】文件上传

关于bytes和str类型之间用法

关于sys与getopt模块的使用

理解编写代码实现:

# 1. 首先定义usage函数

# 2. 利用getopt模块获取命令行参数

# 3. 区分客户端和服务端

# 4. 编写客户端函数和服务端函数

# 5. 编写文件上传函数、文件下载函数

importsys

importsocket

importgetopt

importtime

upfile =""

defmain():

globalupfile

help =False

listen =False

target =""

port =

# 2. 利用getopt模块获取命令行参数

opts,args = getopt.getopt(sys.argv[1:],"t:p:u:hl")

foro,ainopts:

ifo =="-t":

target = a

elifo =="-p":

port =int(a)

elifo =="-u":

upfile = a

elifo =="-h":

help =True

elifo =="-l":

listen =True

else:

assert False,"UnhandledOption"

ifhelp:

usage()

# 3. 区分客户端和服务端

if notlisten:

client_handle(target,port)

else:

server_handle(port)

# 4. 编写客户端函数和服务端函数

# 编写client_handle

defclient_handle(target,port):

client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

client.connect((target,port))

client.send(upfile.encode('utf-8'))

time.sleep(1)

upload_file(client)

client.close()

# 编写server_handle

defserver_handle(port):

server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

server.bind(('0.0.0.0',port))

server.listen(10)

print("[*] Listening on 0.0.0.0:%d"% port)

while True:

client_socket,addr = server.accept()

download_file(client_socket)

# 5. 编写文件上传函数、文件下载函数

# 定义upload_file

defupload_file(client):

f =open(upfile,'rb')

data = f.read()

f.close()

client.send(data)

# 定义download_file

defdownload_file(client_socket):

filename = client_socket.recv(1024)

filename = filename.decode()

print("[*]Receive the file: %s"% filename)

file_buffer ="".encode('utf-8')

while True:

data = client_socket.recv(1024)

if notdata:

break

else:

file_buffer += data

f =open(filename,'wb')

f.write(file_buffer)

f.close()

# 1. 首先定义usage函数

defusage():

print("help info: python3 upload.py -h")

print("client: python3 upload.py -t [target] -p[port] -u [uploadfile]")

print("server: python filename.py -lp[port]")

sys.exit()

if__name__ =="__main__":

main()

python安全开发与测试【7.隧道利用(一)】

讲解有关渗透方面的知识及演示backdoor.py

有关windows下的命令

#利用schtasks 创建计划任务

如schtasks/creat /tn "" /tr"notepade.exe"/sc onlogon

#powershell 隐藏后台执行的终端

powreshell -windowstyle hidden -command "-----"

schtasks /creat /tn/"backdoors"/tr "powreshell -windowstylehidden -command "python backdoors.py -lp 123" /sc onlogon

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190104G01M1R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券