注册一个网站时发现需要上传报名表,果断试一下有没有上传绕过。结果奇葩的发现允许上传的类型是在一个请求包中设置的,设置后网站使用flash上传。
果断在允许文件上传的扩展中加入.jsp来进行上传。
上传webshell后,发现权限是root。由于不想修改root用户的密码来引起管理员发觉,所以研究了下如何通过公私钥来进行ssh免口令登陆。设置过程如下:
1、目标站点ssh配置
要使ssh既能够通过证书免密码登陆,又不影响通过用户名口令登陆,需要对ssh进行配置。配置文件为:/etc/ssh/sshd_config
RSAAuthentication yes PubkeyAuthentication yes ServerKeyBits 1024 PasswordAuthentication yes PermitRootLogin yes
配置完成后执行命令service sshd restart 来重启ssh。
2、本地生成公钥和私钥
使用ssh-keygen命令来生成公私钥。由于本机是windows的,所以用BT5来生成了:
执行上述命令后,就会在BT5的 /root/.ssh/目录下生成公私钥。
3、服务器设置
(1)如果目标站点/root/.ssh/下已经存在authorized_keys文件,则将公钥文件追加到authorized_keys文件上。如果不存在authorized_keys,则上传公钥文件id_rsa.pub并重命名为authorized_keys。
(2)修改authorized_keys权限为600,修改.ssh目录权限为700
1 |
chmod 700 /root/. ssh / |
2 |
chmod 600 /root/. ssh /authorized_keys |
设置完成后,执行命令service sshd restart来重启ssh。
4、用SecureCRT进行免密码登陆
(1)将BT5生成的公私钥文件拷到windows本机上。打开SecureCRT新建session,配置服务器的基本信息后连接,当然这个时候是不会成功的。
(2)右键失败的session,选择“Session Options”—->”SSH2″—>”PublicKey”—>”Properties”后选择生成的私钥文件
选择完后,点击“ok”后,右键“Reconnect”即可成功登陆。
参考资料:http://wenku.baidu.com/link?url=vADXPOuosSj0xsmQMPlX-pVGv6EOgfHu8WEddmKL1MGvzrb3T8Lc8E2e8xlMX9II6_pn_Z7L3139E-xBEDV2MnYS32g64V9j7pVlqwJEvMy
【原文:jinglingshu的博客--一个奇葩站点上传绕过与ssh免密码登陆 安全脉搏意小周编辑整理】