攻击者视角培训笔记

SQL注入

宽字节注入-%df
seay源代码审计系统

字符串使用16进制替换,如’root’替换为0x726f6f74

代码执行与命令执行

  • 代码执行
    eval函数
  • 命令执行
    &、&&、|、||不同操作系统效果不同
    &:win同时执行两个指令;linux同时执行两个指令,第一个指令后台执行
    &&:win和linux相同,第一个成功才执行第二个
    |:win同时执行两个指令;linux为管道符号
    ||:win和linux相同,第一个失败才执行第二个
    Linux多命令顺序执行连接符(; || && |)

netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它。使用netcat命令所能完成的事情令人惊讶。netcat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。
https://www.cnblogs.com/nmap/p/6148306.html
https://blog.csdn.net/zhangxiao93/article/details/52705642
http://man.linuxde.net/nc_netcat

安全科普:让高大上的Bash破壳漏洞不再难理解

xxe及ssrf

xxe

浅谈XXE攻击
DTD/XXE 攻击笔记分享

  • 读取任意文件:

    1
    2
    3
    <?xml version="1.0"?>
    <!DOCTYPE foo [<!ENTITY myentity SYSTEM "file:///etc/passwd" >]>
    <abc>&myentity;</abc>
  • dos攻击

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0"?>
    <!DOCTYPE data [
    <!ENTITY a0 "dos" >
    <!ENTITY a1 "&a0;&a0;&a0;&a0;&a0;&a0;&a0;&a0;&a0;&a0;">
    <!ENTITY a2 "&a1;&a1;&a1;&a1;&a1;&a1;&a1;&a1;&a1;&a1;">
    <!ENTITY a3 "&a2;&a2;&a2;&a2;&a2;&a2;&a2;&a2;&a2;&a2;">
    <!ENTITY a4 "&a3;&a3;&a3;&a3;&a3;&a3;&a3;&a3;&a3;&a3;">
    <!ENTITY a5 "&a4;&a4;&a4;&a4;&a4;&a4;&a4;&a4;&a4;&a4;">
    <!ENTITY a6 "&a5;&a5;&a5;&a5;&a5;&a5;&a5;&a5;&a5;&a5;">
    <!ENTITY a7 "&a6;&a6;&a6;&a6;&a6;&a6;&a6;&a6;&a6;&a6;">
    <!ENTITY a8 "&a7;&a7;&a7;&a7;&a7;&a7;&a7;&a7;&a7;&a7;">
    <!ENTITY a9 "&a8;&a8;&a8;&a8;&a8;&a8;&a8;&a8;&a8;&a8;">
    ]>
    <data>&a9;</data>

ssrf

概念:SSRF(Server-Side Request Forgery),服务器端请求伪造,利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据限制。

那么SSRF 可以做什么呢?

1.内外网的端口和服务扫描
2.主机本地敏感数据的读取
3.内外网主机应用程序漏洞的利用
4.内外网Web站点漏洞的利用

目录遍历及敏感信息泄漏

目录遍历

  • 使用../或..\进行目录回溯
  • 使用url编码进行绕过:%2e%2e%2f=../%2e%2e%5c=..\
  • 使用Unicode/UTF-8编码形式:%c1%1c=/%c0%af=\

目录遍历漏洞的防御

1.对用户的输入进行验证,特别是路径替代字符“../”
2.尽可能采用白名单的形式,验证所有输入
3.合理配置web服务器的目录权限
4.程序出错时,不要显示内部相关细节

敏感信息泄漏

序列化与反序列化

漏洞的形成的根本原因是程序没有对用户输入的反序列化字符串进行检测,导致反序列化过程可以被恶意控制,进而造成代码执行、getshell等一系列不可控的后果。
php中有两个函数serialize()unserialize();Magic函数。
由HITCON 2016一道web聊一聊php反序列化漏洞