Open PyxYuYu opened 7 years ago
Rules are meant to be broken.
SQL
LDAP
TCP/IP
Web
http://www.test.com/employee.asp?user=Jeck
http://www.test.com/employee.asp?user=*
XML
libxml
libxml 2.9
xml
URL
file://
php://
DOS
<?xml version="1.0" encoding="UTF-8"?> <USER role="guest">Attacker's code</USER>
*PoC
PoC
A</USER><USER role="admin">B
<transaction> <totol>6000.00</total> <credit_card_number>12345</credit_card_number>//12345可控,覆盖<total>标签 <expiration>01012000</expiration> </transaction>
12345</credit_card_number><total>1.00</total><credit_card_number>12345
0x01 注入
SQL
注入SQL
语法,破坏原有SQL
结构,达到编写程序时意料之外结果的攻击行为,一个成功的SQL
注入攻击可以从数据库中获得敏感数据、修改数据库数据、执行数据库管理操作、恢复存在于数据库文件系统中的指定内容,在某些情况下对操作系统发布命令SQL
语句SQL
语句中SQL
语法的参数传入应用程序SQL
语句SQL
语句的定义进行完整性检查,确认语言没有发生变化SQL
注入漏洞时,要在出现问题的参数拼接进SQL
语句前进行过滤或者校验,不要依赖程序最开始处的防护代码SQL
语句执行LDAP
注入LDAP
是轻量目录访问协议,它是一种存储关于用户、主机和许多其他对象的信息的规范,支持TCP/IP
,如果一个允许进行LDAP
查询的机构存在未验证的输入,那么就会存在LDAP
注入Web
应用可以使用LDAP
让用户使用自己的凭证登录或在企业结构内部搜索其他用户信息LDAP
注入可以允许攻击者:LDAP
树结构里面的对象http://www.test.com/employee.asp?user=Jeck
LDAP
注入的话http://www.test.com/employee.asp?user=*
就会返回所有员工的级别信息XML
注入XML
文件的解析依赖libxml
库,而libxml 2.9
之前的版本默认支持并开启了外部实体的引用,服务端解析用户提交的xml
文件时未对xml
文件引用的外部实体(含外部普通实体和外部参数实体)做合适的处理,并且实体的URL
支持file://
和php://
等协议,攻击者可以在xml
文件中声明URL
指向服务器本地的实体造成攻击,可导致信息泄漏、任意文件读取、DOS
攻击和代码执行等问题xml
文件时允许加载外部实体,没有过滤用户提交的参数*
PoC
PoC