1、CSRF(跨站点请求伪造)攻击原理?
程序员未对数据提交的页面进行token和referer认证,使得攻击者能够伪造一个请求骗取目标用户进行点击,用户点击之后攻击者就可以在未授权的情况下执行在权限之下的操作。
csrf攻击是建立在会话之上的攻击。
2、CSRF攻击分类
站外:本质上是外部提交数据的问题。一般是写脚本伪造文件请求,或者 是自动提交的表单来实现get/post请求(实现捆绑)。
站内:在一定程度上是由于程序员滥用$_request类的变量形成的。
3、说说你是如何挖掘csrf漏洞的
1.抓取一个正常请求的数据包,观察是否有referer字段,有去掉referer字段还能正常提交是存在csrf漏洞。
csrf漏洞一般存在于:
修改密码、添加用户、数据库备份、数据交易、付款、或者对话框钓鱼等地方。
4、CSRF能做什么
修改密码,添加账户、数据库脱库、钓鱼或者跳转恶意页面
5、如何防止CSRF?
(1)、验证referer (2)、验证token (3)、白单名过滤
6、分别写出远程系统命令/代码执行原理与区别
远程系统命令执行漏洞出现的原因是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口。
远程代码执行漏洞出现的原因是因为需求设计,后台会把用户的输入数据作为代码的一部分进行执行。
区别:
远程命令执行:直接调用操作系统命令
远程代码执行:
7、怎么挖远程系统命令漏洞过程
使用扫描工具进行漏扫。如AWVS、APPSCAN。然后定位到存在远程系统命令漏洞的地方,逐一查看文件,对一些存在输入框、带参数的页面进行校验,输入一些系统命令,如ping…进行判断,确认存在漏洞时,便可拼接攻击命令。
有输入框,带参数的地方都有可能出现命令执行漏洞。
还会出现一些常见的路由器,防火墙、入侵检测、自动化运维平台
8、写出远程系统命令漏洞绕过方法
1.黑名单绕过:assert,system,passthru,exec,pcntl_exec,shell_exec,popen,proc_open,``(反单引号)或者可以查看php.ini中的disable_function漏过了哪些函数。然后 hack it。
disable_functions = 配置,这个禁止某些php函数
2.系统组建绕过:适用于windows系统
3.扩展库绕过
6.远程命令执行常用函数:
1)执行系统命令: assert,system,passthru,exec,pcntl_exec,shell_exec,popen,proc_open,``(反单引号)
(2)代码执行与加密: eval, assert, call_user_func,base64_decode, gzinflate, gzuncompress, gzdecode, str_rot13
(3)文件包含与生成: require, require_once, include, include_once, file_get_contents, file_put_contents, fputs, fwrite
(4).htaccess: SetHandler, auto_prepend_file, auto_append_file
(5)dvwa low && Medium & 或&;& High | (代码里面的|后有一个空格)
网友评论