无意翻到了自己在安全牛学习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
领取专属 10元无门槛券
私享最新 技术干货