| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 2021总结web渗透测试岗位面试题(个人亲身经历的总结) -> 正文阅读 |
|
[PHP知识库]2021总结web渗透测试岗位面试题(个人亲身经历的总结) |
目录 ? 11·中间件漏洞——IIS、Apache、nginx、Lighttpd、Tomcat 13·rce讲一下,php函数eval和system popen 15·数据库提权(mysql,mssql,access,oracle) 23·mysql的网站注入,5.0以上和5.0以下有什么区别 24·TCP/IP——TCP三次握手的过程以及对应的状态转换 1·拿到一个待检测的站,你觉得应该先做什么?
a、获取域名的whois信息,获取注册者邮箱姓名电话等,丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台。用邮箱做关键词进行丢进搜索引擎。利用搜索到的关联信息找出其他邮箱进而得到常用社交账号。社工找出社交账号,里面或许会找出管理员设置密码的习惯 。利用已有信息生成专用字典。 b、查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。 c、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞 d、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心zang出血,mysql,ftp,ssh弱口令等。 常见端口 。 21 ftp 文件传输 22ssh安全登录 3306 mysql 3389远程桌面 80http 443https 139,445smb文件共享 e、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针 f、google hack 进一步探测网站的信息,后台,敏感文件
开始检测漏洞,手动+代理 如XSS,cSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等
2·xss一、什么是 XSS 跨站脚本攻击,XSS属于客户端攻击,受害者最终是用户, XSS攻击最终目的是在网面插入js代码,而且js能实现什么,xss就能获取什么。比如弹出窗口,盗取用户Cookie,废掉页面,导航到恶意网站!更高端的XSS代码完全可以进行监控你的键盘操作,模仿Windows注销界面,诱导你输入开机密码。 二、XSS漏洞出现的原因 程序对输入和输出的控制不够严格,导致脚本输入后,在前端时被浏览器当作有效代码解析执行从而产生危害. 三、XSS的危害 1、劫持用户cookie信息 2、“框架钓鱼”。操作网页中的DOM树结构和内容,在网页中通过JS脚本,生成虚假的页面,欺骗用户执行操作,而用户所有的输入内容都会被发送到攻击者的服务器上。 3、挂马(水坑攻击)ms14_064漏洞 4、有局限性的键盘记录 四、 XSS分类 反射型,储存型,dom型 五、XSS测试方法 1、工具扫描:APPscan、AWVS 2、手工测试:Burpsuite、firefox(hackbar)、XSSER XSSF 六。防御 前端参数过滤 3·sql注入一。什么是sql注入 SQL注入是将恶意的SQL查询语句输入参数中的攻击,之后再将这些参数传递给后台的sql服务器加以解析和执行,再返回的过程 二。出现原因
⑤多个提交处理不当。 三。危害
四。类型
五。测试方法 1、工具扫描:APPscan、AWVS ,X-ray 2、手工测试:bs ,sqlmap, 六。预防
4·真实ip1.ping,nslookup,子域名:通过查询子域名对应的ip地址,然后扩展查询ip所在的C段地址,在C段地址中可能发现主站的真实ip——站长之家。 2.以会员身份发邮件,订阅服务收到通知查ip(前提是目标站使用的邮件服务是自己服务站,而不是第三方) 3.域名解析历史 假设以前某个时间点没有使用CDN,通过查询目标域名的dns解析历史,可能得到其真实IP,提供该历史查询的网站如微步在线、dnsdb、netcraft、Viewdns、CDN查询IP,?ip138查询:https://site.ip138.com/??等等。 追踪平台:SecurityTrails 5.多地ping通过一些第三方网站的分布式多地ping域名功能,如果得到的ip唯一或者只有少数几个结果ip,则为真实ip。类似网站:站长工具、just ping等。 5.zmap扫描 3.使用国外主机解析域名 一些CDN可能只做了国内的线路,所以使用国外主机可以获取到真实IP,直接使用多地Ping即可:站长之家:http://ping.chinaz.com/ 6·应急响应1、工具列表 Pchunter 恶意代码检测工具 Process Explorer 恶意代码检测工具 Autoruns 显示Windows启动时自动运行的程序 D盾 WebShell查杀 Logparser 日志分析工具 Windows的自带命令集没有linux的强大,不能完全满足应急响应时的处置工作,所以一般来说我们都需要借助外部工具进行恶意后门分析 2、检查项目
上述的排查项,全部可以使用PChunter和Autoruns完成。 7·代码注入漏洞1.eval() eval($_REQUEST['pass']); 2.preg_replace()——php5.3 $a = $_REQUEST['passs']; preg_replace($a); @preg_replace('//e',base64_decode($_REQUEST['pass']),''); 3.assert()——php5 php7都可以用 assert($_REQUEST["PASS"]); $a=$_GET['1'];$b=$_POST['2']; 4.creat_function() $newfunc = creat_function('',$_REQUEST['pass'].";"); echo "New anonymous function: $newfunc\n"; $newfunc(); 5.call_user_func() call_user_func(create_function(null,'assert($_REQUEST[pass]);')); 6.call_user_func_array() 代码混淆免杀 8·sql注入如何读写文件,二次注入,防御方式
union select 1,'<?php @eval($_POST["pass"])?>',3 into outfile 'C:\\\www\html\shell.php' 9·csrf和xss区别
xss修复方式:对字符实体进行转义、使用HTTP Only来禁止JavaScript读取Cookie值、输入时校验、浏览器与Web应用端采用相同的字符编码。 csrf修复方式:筛选出需要防范CSRF的页面然后嵌入Token、再次输入密码、检验Referer 10·文件上传的后段绕过,防御方式前段更改js限制 大小写 双写 代理 点空格(liunx不用) ::¥date mine类型更改type元素 文件头信息绕过---gif89a 伪图片上传 copy/b 图+p 马(需要可以解析php文件) 条件竞争(多线程对同一共享资源操作) 00截断 11·中间件漏洞——IIS、Apache、nginx、Lighttpd、Tomcat
1.asa,1.asp文件夹下的文件都当作asp文件解析 1.asp;1.png也会当作asp解析
test.jpg/test.php当php解析 12·xxe与ssrfxxe:应用程序解析xml时候没有禁止外部实体的加载,导致可家在外部文件,造成文件读取,命令执行,内网端口扫描,dos攻击等危害 ssrf:服务器提供了从其他服务器获取数据的功能,但是没有对外网目标地址做过过滤限制 13·rce讲一下,php函数eval和system popeneval代码执行 system popen命令执行ipconfig 14·缓冲区溢出通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。 15·数据库提权(mysql,mssql,access,oracle)
配合工具(暗月)上传
1.工具建号,提权,找个可写目录上传mof文件 2.执行sql上传文件 select load_file('C:\\wmpub\\moon.mof') into dumpfile 'c:/windows/system32/wbem/mof/moon.mof'; 16·常见的php序列化与反序列化函数serialize unserialize json_encode json_decode var_export eval wddx_serialize_value 和 wddx deserialize 17·如何突破注入时字符被转义?宽字符注入 hex编码绕过 18·某个防注入系统,在注入时会提示:系统检测到你有非法注入的行为。 已记录您的ip xx.xx.xx.xx 时间:2016:01-23 提交页面:test.asp?id=15 提交内容:and 1=1 19·如何利用这个防注入系统拿shell?在URL里面直接提交一句话,这样网站就把你的一句话也记录进数据库文件了 这个时候可以尝试寻找网站的配置文件 直接上菜刀链接。 20·说出至少三种业务逻辑漏洞
1)暴力破解 2)撞库 3)cookie伪造
1)邮箱篡改 2)订单ID,用户ID,手机号,商品编号,支付金额商品数量篡改
1)横向越权 2)纵向越权
用户凭证暴力破解 -- 当当网 : 进行验证码的爆破 只有4位的验证码比较好跑出来 用户凭证暴力破解 -- 微信:微信密码重置漏洞
常见类型:验证码暴力破解、验证码重复使用、验证码绕过、验证码回显、验证码自动识别
21·宽字节注入产生原理以及根本原因当php开启gpc或者使用addslashes函数时,单引号'被加上反斜杠\',其中\的URL编码为%5C,我们传入%df',等价于%df%5C',此时若程序的默认字符集是GBK,mysql用GBK编码时会认为%df%5C是一个宽字符縗,于是%df%5C'便等价于縗',产生注入。 22·代替空格的方法%0a、%0b、%a0 等 /**/ 等注释符 <> 23·mysql的网站注入,5.0以上和5.0以下有什么区别5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名。 5.0以下是多用户单操作,5.0以上是多用户多操做。 24·TCP/IP——TCP三次握手的过程以及对应的状态转换第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。 第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。 第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,完成三次握手。 25· TCP和UDP协议区别1) TCP提供面向连接的传输,通信前要先建立连接(三次握手机制); UDP提供无连接的传输,通信前不需要建立连接。 2) TCP提供可靠的传输(有序,无差错,不丢失,不重复); UDP提供不可靠的传输。 3) TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组; UDP是面向数据报的传输,没有分组开销。 4) TCP提供拥塞控制和流量控制机制; UDP不提供拥塞控制和流量控制机制。 26·流量分析27·防火墙28·登录框暴力破解 1. 指定用户名爆破密码 2. 指定密码爆破用户名 SQL注入 1. 万能密码 2.SQL注入 XSS+CSRF 任意用户注册---如果登陆框附近存在用户注册功能时,可以尝试 1. 失效的身份认证 2. 验证码可暴破 任意密码重置 CSRF重新绑定手机号、邮箱号, 重新绑定时,用户身份可控,如最后的请求包可以通过修改用户id来控制绑定的用户 短信轰炸 1. 单个用户短信炸弹 2. 轮询用户 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/14 14:39:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |