目录介绍:
- 1、如何发现php wangye loudong
- 2、xss注入漏洞产生的原因?xss注入过程步骤是什么?防范xss注入的方法有哪些
- 3、一个完整的渗透测试流程,分为那几块,每一块有哪些内容
- 4、最近网上流行的XSS是什么意思
- 5、网站被人家注入一句话木马 该怎么处理
如何发现php wangye loudong
0x01: 搜索所有的用户可控变量(GET/POST/COOKIE/referer)
原因:所有用户输入都是有害的,代码审计注重函数和变量,先看看在什么地方会有输入
可能出现的场景:
a) id=$_GET['id'];
可能存在的问题:
无过滤的SQL注入:
WooYun: chshcms 程氏CMS V3.0 注射(已在官方演示站测试)
1
$id=trim($_GET["id"]);
//下面直接就进查询语句了
1
if($db-query("update ".Getdbname('dance')." set CS_TID=".$tid." where cs_user='".$cscms_name."' and
当然,这是GET之后没做过滤的情景
b) id=intval($_GET['id']);
可能存在的问题:intval对字符型无用,字符型变量是怎么处理的呢?
如果字符型的addslashes,注意数字型盲注(见c2分析)
c) $tid=XX_Request("tid");
使用自己定义的安全过滤函数处理变量,很常见,很多框架都提供了解决方案,不过自己包装一个也是很常见的
可能存在的问题:
c1) 有没有忘记使用这个处理函数?
WooYun: chshcms 程氏CMS V3.0 注射(已在官方演示站测试)
$tid=CS_Request("tid"); //使用安全的CS_request addslash
$id=trim($_GET["id"]); //呵呵呵,曲项向天歌,CS_Request哭了
其实还是上面那个例子,自己忘了用这函数过滤了
c2) 函数本身是否安全?
WooYun: (新)程氏舞曲CMS 三步GETSHELL(实例演示+源码详析)
$t_Val = $magic?trim($_GET[$pi_strName]):addslashes(trim($_GET[$pi_strName]));
使用了addslashes,这就意味着逃脱单引号难度加大,需要寻找没有单引号保护的语句注入
addslashes只处理单引号和斜杠,因此无法过滤形如 134 and 1=1 这样的注射语句,请自行百度无单引号盲注
在下面的语句中,$cscms_name就是有单引号保护的,而$id是没有单引号保护的
$db-query("update ".Getdbname('xiaoxi')." set CS_DID=1 where CS_ID=".$id." and cs_usera='".$cscms_name."'");
所以id引发了盲注
c3) 过滤函数能否满足业务逻辑的特殊需求?
负数订单啦,自己修改自己的投票数啦,各种业务逻辑上的问题都有可能发生
非常可惜,这个我还没撞见过,如果以后撞见再更新到文章里
d) 不要忘记我们能控制referer等变量
可能存在的问题:
虽然发现GET/POST都过滤处理了,但是referer和cookie容易被忽视
$_SERVER["HTTP_REFERER"] 例子:
WooYun: MacCMS 6.x referer处理不当引发注射
很遗憾,这个截至今日还未公开,等公开了大家再去看吧
$_COOKIE['xxx'] 例子:
WooYun: TCCMS全版本COOKIE注入(已演示证明)
$sql="select password from ".$_Obj-table." where id=".$_COOKIE['userId'];
情况和GET时是一样的,不过注入时操作起来稍微麻烦些,SQLMAP教程我就不粘贴到这里了,不会COOKIE注射的请百度
e) 还有其他的输入变量,请各路高手带着实例补充!
目前,我们了解了程序总体上是如何处理用户输入的
0x02:单独搜索$_COOKIE,分析身份认证时的逻辑
原因:身份验证属于业务逻辑中“高危”的部分,大部分的高危漏洞都出在这里
可能出现的场景:
a) 没有cookie处理,直接全是session
那就等之后通读代码时直接去读认证算法好啦
b) 认证算法中强度太弱(用可控的COOKIE算来算去),降低了伪造身份的难度
WooYun: (新)程氏舞曲CMS 三步GETSHELL(实例演示+源码详析)
第二步伪造身份时
elseif($_COOKIE['CS_Login']!=md5($_COOKIE['CS_AdminID'].$_COOKIE['CS_AdminUserName'].$_COOKIE['CS_AdminPassWord'].$_COOKIE['CS_Quanx'])){
有什么意义呢?COOKIE我们能控制,当然之后程序有别的验证,这里只是举例,就这一句而言没有意义
实际上漏洞里这个CMS这个算法,后面只是在认证时没有用到安装时admin写死在config里的验证码而已,不过难度已经降下来了
c) 直接能绕过
如果情况b 没有其他验证了,那就绕过了
目前我们只是验证了登陆时的逻辑,之后还需分析权限的缜密程度
0x03:搜索所有的文件操作函数,分析其逻辑
原因:文件操作函数属于敏感函数,往往业务逻辑上的漏洞可能导致任意文件操作
可能出现的场景:
a) 任意文件下载
WooYun: appcms 最新版 1.3.708 任意文件下载
?php
if(isset($_GET['url']) trim($_GET['url']) != '' isset($_GET['type'])) {
$img_url = base64_decode($_GET['url']);
$shffix = trim($_GET['type']);
header("Content-Type: image/{$shffix}");
readfile($img_url);
} else {
die('image not find');
}
?
PS:由于是业务逻辑上的问题,是没办法通过自动扫描发现的,而且针对SQL和HTML的过滤是起不到特大作用的
任意文件读取的最大作用是读config.php 和各种系统的敏感文件(如何爆物理目录?请看0x04)
b) 任意文件写入
WooYun: CSCMS V3.5 最新版 后台命令执行GETSHELL(源码详析)
任意文件写入的最大应用就是写马了,最大障碍是绕过过滤的HTML字符比如: ,解决方式是大量应用base64
c) 任意文件删除
很遗憾,还没撞见过,要是撞见一个该多好
任意文件删除的作用可以是删除install.lock,然后重装CMS
d) 其他操作,求补充
文件操作可以结合爆目录
0x04:爆物理目录
原因:上一小节我们可能能够任意操作文件,但没拿到网站的物理目录地址,的确可以用黑盒不停地试图读取 c:\boot.ini 和 /etc/passwd 之类的来试图判断,但是这么弄实在不可靠
怎么办:使用php vulnerability hunter 自动扫描就好了,这个确实可以偷懒用工具扫描,因为这个爆目录危害实在太低了,必须配合其他漏洞才有危害,所以一般CMS都会有这种漏洞,我是说能扫描出来的漏洞
WooYun: appcms 最新版 1.3.708 任意文件下载
如果你不知道物理路径,你可以试着用工具扫描一下,然后再读取
0x05:搜索eval,preg_replace什么的,看看有没有命令执行
原因:能直接执行PHP代码,也就是说可以写一句话木马了(file_put_contents),当然,要找可写目录
这地方我一直没能找到例子,没有亲自实践过,求各路高手带实例提供几个?
0x06:可以开始通读代码了,从index开始,注意的是数据的传输和输出函数
原因:常见模式化的漏洞都不存在的话,就要分析整个系统了,因此需要完全而彻底地去做审计,这样比继续单独搜索变量然后跟踪更加省力一些
可能出现的场景:
a) 之前的过滤全白费了
WooYun: YXcms1.2.0版本 存储式XSS(实站演示+源码分析)
没公开,等公开再更新文章,这是一个存储式xss
b) 二次注入
由于二次开发中从数据库里取出的值没有过滤,导致注射,由于没有直接从用户输入中获得,所以之前步骤很难发现
哎呀,求各路高手提供个示例呀,我这个自己也没有碰到过丫
c) 平行权限、任意投票、越权访问 等等 等等 一大堆
0x07 总结
目前就知道这么些,希望能对刚接触PHP代码审计漏洞挖掘的新手有点帮助,由于我也是刚开始学习PHP漏洞挖掘不久,希望大家能广泛提供学习的建议以及思路,也请批评指正文章中不妥之处,更希望高手们能带着示例来指导。
xss注入漏洞产生的原因?xss注入过程步骤是什么?防范xss注入的方法有哪些
对于的用户输入中出现XSS漏洞的问题,主要是由于开发人员对XSS了解不足,安全的意识不够造成的。现在让我们来普及一下XSS的一些常识,以后在开发的时候,每当有用户输入的内容时,都要加倍小心。请记住两条原则:过滤输入和转义输出。
一、什么是XSS
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意的特殊目的。XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。
在WEB2.0时代,强调的是互动,使得用户输入信息的机会大增,在这个情况下,我们作为开发者,在开发的时候,要提高警惕。
二、XSS攻击的主要途径
XSS攻击方法只是利用HTML的属性,作各种的尝试,找出注入的方法。现在对三种主要方式进行分析。
第一种:对普通的用户输入,页面原样内容输出。
打开(限公司IP),输 入:scriptalert(‘xss’)/script, JS脚本顺利执行。当攻击者找到这种方法后,就可以传播这种链接格式的链接 ()如:http: //go.ent.163.com/goproducttest/test.jsp?key=scriptalert(‘xss’) lt;/script,并对JSCODE做适当伪装,如:
%74%3e%61%6c%65%72%74%28%27%78%73%73%27%29%3c%2f%73%63%72%69%70%74%3e,当其 它用户当点此链接的时候,JS就运行了,造成的后果会很严重,如跳去一个有木马的页面、取得登陆用户的COOKIE等。
第二种:在代码区里有用户输入的内容
原则就是,代码区中,绝对不应含有用户输入的东西。
第三种:允许用户输入HTML标签的页面。
用户可以提交一些自定义的HTML代码,这种情况是最危险的。因为,IE浏览器默认采用的是UNICODE编码,HTML编码可以用ASCII方式来写,又可以使用”/”连接16进制字符串来写,使得过滤变得异常复杂,如下面的四个例子,都可以在IE中运行。
1,直接使用JS脚本。
img src=”javascript:alert(‘xss’)” /
2,对JS脚本进行转码。
img src=”javascript:alert(‘xss’)” /
3,利用标签的触发条件插入代码并进行转码。
img onerror=”alert(‘xss’)” /
4,使用16进制来写(可以在傲游中运行)
img STYLE=”background-image: /75/72/6c/28/6a/61/76/61/73/63/72/69/70/74/3a/61/6c/65/72/74/28/27/58/53/53/27/29/29″
以上写法等于img STYLE=”background-image: url(javascript:alert(‘XSS’))”
三、XSS攻击解决办法
请记住两条原则:过滤输入和转义输出。
具体执行的方式有以下几点:
第一、在输入方面对所有用户提交内容进行可靠的输入验证,提交内容包括URL、查询关键字、http头、post数据等
第二、在输出方面,在用户输内容中使用XMP标签。标签内的内容不会解释,直接显示。
第三、严格执行字符输入字数控制。
四、在脚本执行区中,应绝无用户输入。
一个完整的渗透测试流程,分为那几块,每一块有哪些内容
包含以下几个流程:
信息收集
第一步做的就是信息收集,根据网站URL可以查出一系列关于该网站的信息。通过URL我们可以查到该网站的IP、该网站操作系统、脚本语言、在该服务器上是否还有其他网站等等一些列的信息。
漏洞探测
当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如:SQL注入 。
漏洞利用
探测到了该网站存在漏洞之后,就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。
内网渗透
当我们能跟内网主机进行通信后,我们就要开始进行内网渗透了。可以先使用nmap对内网主机进行扫描,探测在线的主机,并且探测其使用的操作系统、开放的端口等信息。
内网中也有可能存在供内网使用的内网服务器,可以进一步渗透拿下其权限。
痕迹清除
达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马。
撰写渗透测试保告
在完成了渗透测试之后,就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的方法。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击。
最近网上流行的XSS是什么意思
最近网上流行的XSS是小学生的恶称,骂小学生的。
一是指某些人的想法、思维方式、对事物的认知和思考能力如孩子般幼稚、单纯、天真。
二是特指某类相对于同龄的人,在游戏竞技或者社交网络中, 态度傲慢、技术水准较差、拒绝与队友沟通、独断专行、忽视团队合作、甚至喜欢恶语相向的网游玩家。
三是指对没有接触过社会或社会经验不足。
扩展资料:
1、小学生技术菜,爱骂人,玻璃心(说他一句就挂机送人头,不管说什么,比如:中路的你不要再送了,然后他就说“我就送”,接着就开始了。)小学生的心思就像星空,摸不着猜不透。
2、大喷子(网络中对喜欢肆意谩骂、地域黑、招黑、互黑等网友的一种广泛性定义。),不分青红皂白就开喷。
3、说话不经过大脑考虑,以自我为中心,可能是在家被宠惯了。
4、没有接触过社会大家庭或接触社会经验不足。比如:参加工作,你要是不让新人上,永远都是新人。这也是小学生。
网站被人家注入一句话木马 该怎么处理
一般遇到这种情况,可以尝试下市面上的安全软件,建议用云锁,它配置了完整的防SQL注入、防XSS、防一句话木马上传等网络攻击防护规则。可以通过远程控制台(PC、网页、手机)实现对服务器的批量远程管理。
网友评论
最新评论
那几块,每一块有哪些内容4、最近网上流行的XSS是什么意思5、网站被人家注入一句话木马 该怎么处理如何发现php wangye loudong0x01: 搜索所有的用户可
t(‘xss’)” /4,使用16进制来写(可以在傲游中运行)img STYLE=”background-image: /75/72/6c/28/6a/61/76/61/73/63/72/69/70/74/
JS脚本进行转码。img src=”javascript:alert(‘xss’)” /3,利用标签的触发条件插入代码并进行转码。img onerror=”alert(‘xss’)” /4,使用16进制来写(可以在傲游中运行)img STYLE=”backgrou
喜欢肆意谩骂、地域黑、招黑、互黑等网友的一种广泛性定义。),不分青红皂白就开喷。3、说话不经过大脑考虑,以自我为中心,可能是在家被宠惯了。4、没有接触过社会大家庭或接触