马云:只在乎能力——网络安全体现能力的面试技巧

本文详细阐述了网络安全面试的思路流程,包括信息收集、漏洞挖掘、利用与权限提升,以及安全防护措施。重点讲解了SQL注入、文件上传、权限提升、Webshell写入、服务器类型判断、数据库提权等方面,并介绍了如何防止SQL注入、XSS、CSRF等常见攻击。同时,文中还提及了特殊漏洞如Redis未授权访问、MongoDB和Memcache的安全风险及防护方法。
摘要由CSDN通过智能技术生成

​思路流程:

信息收集

  • 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)
  • 网站指纹识别(包括,cms,cdn,证书等),dns记录
  • whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)
  • 子域名收集,旁站,C段等
  • google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等
  • 扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等
  • 传输协议,通用漏洞,exp,github源码等
  • 漏洞挖掘

浏览网站,看看网站规模,功能,特点等
端口,弱口令,目录等扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
XSS,SQL注入,上传,命令注入,CSRF,cookie安全检测,敏感信息,通信数据传输,暴力破解,任意文件上传,越权访问,未授权访问,目录遍历,文件 包含,重放攻击(短信轰炸),服务器漏洞检测,最后使用漏扫工具等

漏洞利用 | 权限提升

  • mysql提权,serv-u提权,oracle提权
  • windows 溢出提权
  • linux脏牛,内核漏洞提权e
  • 清除测试数据 | 输出报告

日志、测试数据的清理

总结,输出渗透测试报告,附修复方案

复测

验证并发现是否有新漏洞,输出报告,归档

问题

在渗透过程中,收集目标站注册人邮箱对我们有什么价值?

丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台。

  • 用邮箱做关键词进行丢进搜索引擎。
  • 利用搜索到的关联信息找出其他邮箱进而得到常用社交账号。
  • 社工找出社交账号,里面或许会找出管理员设置密码的习惯 。
  • 利用已有信息生成专用字典。

判断出网站的CMS对渗透有什么意义?

  • 查找网上已曝光的程序漏洞。
  • 如果开源,还能下载相对应的源码进行代码审计。
  • 渗透时扫目录的意义

敏感文件、二级目录扫描
站长的误操作比如:网站备份的压缩文件、说明.txt、二级目录可能存放着其他站点

目前已知哪些版本的容器有解析漏洞,具体举例。


IIS 6.0

/xx.asp/xx.jpg "xx.asp"是文件夹名

IIS 7.0/7.5

默认Fast-CGI开启,直接在url中图片地址后面输入/1.php,会把正常图片当成php解析
Nginx

版本小于等于0.8.37,利用方法和IIS 7.0/7.5一样,Fast-CGI关闭情况下也可利用。
空字节代码 xxx.jpg.php
Apache1.x、2.x

上传的文件命名为:test.php.x1.x2.x3,Apache是从右往左判断后缀
lighttpd

xx.jpg/xx.php
如何手工快速判断目标站是windows还是linux服务器?

linux大小写敏感,windows大小写不敏感。

为何一个mysql数据库的站,只有一个80端口开放?

改了端口,站库分离,3306不对外网开放,防火墙拦截

看到编辑器,应该先做什么?

查看编辑器的名称版本,然后搜索公开的漏洞。

拿到一个webshell发现网站根目录下有.htaccess文件,我们能做什么?

能做的事情很多,用隐藏网马来举例子:
插入

SetHandler application/x-httpd-php
.jpg文件会被解析成.php文件。

提权时选择可读写目录,为何尽量不用带空格的目录?

exp执行一般需要空格界定参数

后台修改管理员密码处,原密码显示为*。你觉得该怎样实现读出这个用户的密码?

审查元素 把密码处的password属性改成text就明文显示了

为什么aspx木马权限比asp大

aspx使用的是.net技术。IIS 中默认不支持,ASP只是脚本语言而已。入侵的时候asp的木马一般是guest权限…APSX的木马一般是users权限

如何绕过waf

大小写转换法
干扰字符 /!/
编码 base64 unicode hex url ascll
复参数
常见端口


3306 mysql
1433 mssql
1521 oracle
5432 postgresql
6379 redis
27017 mongodb
8080 tomcat/resin/jetty
137 samba
5900 vnc

如何向服务器写入webshell

各种上传漏洞
mysql具有写入权限,用sql语句写入shell
http put方法
Sql注入
SQL注入原理

a. SQL(结构化语句查询)
b. 提交参数(调用数据库查询)的地方是用户可控的,并未做任何过滤处理
c. 数字型,字符型,搜索型,POST注入,Cookie注入,延时注入,盲注等

SQL注入防护

1、使用安全的API
2、对输入的特殊字符进行Escape转义处理
3、使用白名单来规范化输入验证方法
4、对客户端输入进行控制,不允许输入SQL注入相关的特殊字符
5、服务器端在提交数据库进行SQL查询之前,对特殊字符进行过滤、转义、替换、删除。

规范编码,字符集
为什么参数化查询可以防止sql注入

原理:

使用参数化查询数据库服务器不会把参数的内容当作sql指令的一部分来执行,是在数据库完成sql指令的编译后才套用参数运行
简单的说:
参数化能防注入的原因在于,语句是语句,参数是参数,参数的值并不是语句的一部分,数据库只按语句的语义跑

SQL头注入点

UA
REFERER
COOKIE
IP

盲注是什么?怎么盲注?

盲注是在SQL注入攻击过程中,服务器关闭了错误回显,我们单纯通过服务器返回内容的变化来判断是否存在SQL注入和利用的方式。盲注的手段有两种,一个是通过页面的返回内容是否正确(boolean-based),来验证是否存在注入。一个是通过sql语句处理时间的不同来判断是否存在注入(time-based),在这里,可以用benchmark,sleep等造成延时效果的函数,也可以通过构造大笛卡儿积的联合查询表来达到延时的目的。

宽字节注入产生原理以及根本原因

产生原理
在数据库使用了宽字符集而WEB中没考虑这个问题的情况下,在WEB层,由于0XBF27是两个字符,在PHP中比如addslash和magic_quotes_gpc开启时,由于会对0x27单引号进行转义,因此0xbf27会变成0xbf5c27,而数据进入数据库中时,由于0XBF5C是一个另外的字符,因此\转义符号会被前面的bf带着”吃掉”,单引号由此逃逸出来可以用来闭合语句。
在哪里编码
根本原因:
character_set_client(客户端的字符集)和character_set_connection(连接层的字符集)不同,或转换函数如,iconv、mb_convert_encoding使用不当。
解决办法:
统一数据库、Web应用、操作系统所使用的字符集,避免解析产生差异,最好都设置为UTF-8。
或对数据进行正确的转义,如mysql_real_escape_string+mysql_set_charset的使用。
sql里面只有update怎么利用

先理解这句 SQL

UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='$id'

如果此 SQL 被修改成以下形式,就实现了注入

1:修改 homepage 值为http://baidu.net’, userlevel=’3

之后 SQL 语句变为

UPDATE user SET password='mypass', homepage='http://baidu.net', userlevel='3' WHERE id='$id'

userlevel 为用户级别

2:修改 password 值为mypass)’ WHERE username=’admin’#

之后 SQL 语句变为

UPDATE user SET password='MD5(mypass)' WHERE username='admin'#)', homepage='$homepage' WHERE id='$id'

3:修改 id 值为’ OR username=’admin’
之后 SQL 语句变为

UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='' OR username='admin'

sql如何写shell/单引号被过滤怎么办

写shell: root权限,GPC关闭,知道文件路径
ou

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网安溦寀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值