您的位置:首页 > 编程语言 > Python开发

Python病毒篇:实现引导木马和url路由详解

2020-07-29 17:07 405 查看

该文章的目录

  • 初级篇
  • 中级篇
  • 高级篇
  • 结束
  • 引子

    我要收回来自《Python病毒篇:最新版》中的一句话,我还要继续更新。

    事先说明

    不喜勿喷哦!另外有什么问题不要私信我,我没有时间看,在文章下方留言即可,还有,该文章中的所有技术均为本人自己研究所得,不要抄袭哦!请遵守法律

    准备工作

    如果你是第一次阅读我的文章,那么请做好一下准备:

    VirtualBox

    百度搜索VirtualBox软件,点击下载,根据向导的提示安装即可。

    镜像文件

    百度搜索MSDN,我告诉你,点击操作系统,在右边的复选框中选择适当的版本,这里以Windows7 Enterprise(x86)为例


    然后把这个ed2k地址复制一下,在迅雷中下载下来即可。

    安装虚拟机

    接下来创建一个虚拟机,选择适当的参数,由于这里每个人情况不同,便不再多说了,最后选择镜像文件即可。

    安装Python

    这里笔者不多做阐述。大家根据自己的实际情况下载即可

    初级篇

    什么是tkinter

    之前我的文章中有提到过tkinter这个库。tkinter其实是一个GUI的开发库,他与wxPython,PyQt一样,都可以做出很多GUI界面。与GUI相对的就是CLI(command line interface),我们之前学习的CMD指令就是CLI。黑客往往会制作几个简单的GUI,来吸引一些用户的注意力,并附上一个按钮来阅读全文。但是,按下之后,往往通向一个404页面,但是,你的电脑可能已经被控制了,而你浑然不觉。现在,我们就来看一下怎么制作这类木马。因为本人黑客技术不是很高超,所以只知道如何让用户通过一个GUI,打开一个页面,至于之后,我们可以任意发挥。当然我们也可以在按钮之后隐藏一个破坏性木马,例如来删除C盘等操作。

    制作引导木马

    GUI制作

    我们先做一个GUI,代码如下:

    import tkinter as tk
    gui =tk.Tk()
    gui.title('大奖')
    gui.geometry('500x300')
    b = tk.Button(gui,text = '点击领取大奖一份!',bg='cyan',font = ('幼圆',15),bd = None,width=20,height=10,command = None)
    b.pack()
    gui.mainloop()

    效果如下

    这个按钮有点大哈!不要在意。

    command函数

    我们已经完成了前端设计,在代码中,command=None,这里是点击后执行的函数,有两种情况,具体如下:

    情况一:直接引用木马病毒

    例如关闭安全软件服务,或者一个网络堵塞病毒,这里不多作介绍,之前的文章都有。

    情况二:打开一个网页

    可以打开一个恶意网页。我们用webbrowser库来实现。

    import webbrowser
    def open():
    webbrowser.open("要打开的网页")

    最后,command这里赋值为command=open即可,这里的函数可以不加括号。

    如果这个网页是个假的网页,例如假的404页面,我们可以用HTML5代码来实现。代码如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
    <body>
    <h1>404 NOT FOUND</h1>
    <p1>please try again</p1>
    </body>
    </html>

    看一下效果:

    这时候,一个假的404页面就做好了。

    中级篇

    Web部分

    在以往,Web部分通常都在高级篇,而这次,他在中级篇,因为这是个不难的知识点。

    url

    url,通俗来说就是一个网址,比方说百度,他的官网url就是www.baidu.com。在浏览器上,我们每次点击一个如按钮的东西,我们都会跳到另一个url地址上面。这就是url地址。
    简单吗?你以为url只有这些花样?那你就大错特错了!

    网页url的规律

    比方说我们一个AQI(空气质量质数)查询的网站pm25.in这个网站如下图:

    而如果打开北京的AQI,url网址上就会出现淡淡的/beijing,是地名的拼音。其他地方也如此
    一般网络爬虫工程师,只有了解了网站url的规律,才能更好的爬虫。

    路由

    再了解一个路由的知识。
    之前我们了解了Flask框架,这是个很好的工具,简单的几行代码就能开一个网站。其中的route方法就是创建一个路由。我们开一段代码来实际的了解一下路由:

    from flask import Flask
    website = Flask(__name__)
    
    @website.route('/')#建立一个空的路由,不需要输入额外的url。
    def hello():
    return "Welcome!"
    @website.route('/resigned')#建立一个resigned路由
    def resigned():
    return "You are visit resigned!"
    
    if __name__ == "__main__":
    website.run(debug=True)

    这里就建立了一个resigned路由,网站可以识别到url,并且根据函数内容进行返回。
    看看效果:



    注意观察url的变化
    好了,这就是路由的知识。有关flask框架,我们之后会在说道,现在就先学到这。

    高级篇

    import webrowser as web
    class choose:
    def __init__(self):
    print("Welcome")
    def bidu(self):
    web.open(www.baidu.com)
    def other(self,url):
    web.open(url)
    app = choose()
    app.bidu()
    app.other("www.csdn.net")

    这段代码,用类的方式打开了百度首页和csdn首页。为什么要写这段代码?因为之前,我都是直接给出源代码,让大家在自己的IDE上运行。可是考虑到之后代码会越来越长,而且越来越难以理解,所以这次我为小白准备了一个代码强度补习班,高手和各类大佬可以跳过。

    现在将这段代码敲击在你的IDE上面,然后运行试试看。

    如果可以,那就跳过,如果发现问题,就要学会自己调试。看看代码哪里出了问题。应该都是会报错的。为什么,请自己好好的读一下错误提示,实在不会就百度翻译一下。

    第六行中的url地址没有加引号,你发现了吗?
    我们再来一个代码,请将这段代码一个字一个字的敲击在你的IDE中。

    import sqlite3
    con = sqlite3.connect('data.db')
    cursor = con.cursor()
    cursor.execute('delete from user where id = 1')
    cursor.execute('select * from user')
    fetch_answer = cursor.fetchall()
    print(fetch_answer)
    cursor.close()
    con.commit()
    con.close()

    在这个代码中,我们看一下,这是个什么代码?
    数据库代码。
    如果你看不懂,可以结合百度搜索来学习,这是最简单的sqlite3代码了。
    如果出现问题,要学会自己调试哦!问题应该是user表没有创建,这样,你就可以加一段创建user表的代码。
    如果你站在网络安全方向看,其实这段代码有一个漏洞,不知道你发现了吗?

    结束

    好了,有一篇文章结束了。
    祝愿你在未来的道路中越走越远,有什么问题评论区见哦!
    再见
    部分摘抄地址:
    https://www.geek-share.com/detail/2789717571.html
    https://blog.csdn.net/tiantian520ttjs/article/details/103988639

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: