我遇到的问题是这样的,我在/etc/profile下面加入了如下的代码:
# root .profile
Clear
Echo “You had input an error password , please input again !”
Echo
Echo -n “Login:”
Read p
If ( “$p” = “123456”) then
Clear
Else
Exit
fi
然后我重启电脑之后就出现了登录的界面 ,我的root密码是111111 ,我输入这用户名和密码, 就显示了“You had input an error password , please input again !”(用户名和密码绝对正确!!) 然后又出现了之前的那个登录界面,如此死循环下去了, 我们的初衷是做一个简单的蜜罐系统, 想不到会这样…… ,请懂的朋友帮忙解决 ,大家一起学习交流讨论。 先谢了!
我的QQ: 303863271 / 295483320


xzp1991 于 2011-06-19 00:00:09发表:
可能是死循环了
xzp1991 于 2011-06-19 00:00:05发表:
可能是死循环了
gogo11 于 2011-06-18 23:45:51发表:
先输入原来系统的密码,然后在输入$p=123456哪儿的123456就可以了~~~~~~
age 于 2011-06-17 17:49:37发表:
[i=s] 本帖最后由 age 于 2011-6-17 17:56 编辑 [/i]
仔细看了前面的代码,个人感觉代码有问题。修改一下[code]clear
echo “You had input an error password , please input again !”
echo
echo -n “Login:”
read p
if [ "$p" = "123456" ]; then
Clear
else
Exit
fi[/code]ps: bash的字符串相等判断用“=”真不习惯,一般都是“==”
手中小刀 于 2011-06-17 17:45:15发表:
{:2_100:}崩溃
liuhongming 于 2011-06-17 17:16:35发表:
我就是这么操作的啊 输入123456的时候又回到登录界面了
age 于 2011-06-17 17:09:23发表:
你自己是不是完全没搞明白那个/etc/profile的意思啊
假设你的root密码是2222
那么第一次提示你输入密码时候,就输 2222。 这样就可以进入系统了
然后/etc/profile启动,输出提示[code]You had input an error password , please input again ![/code]这时你再输入 123456
现在就万事ok了
liuhongming 于 2011-06-17 16:21:02发表:
还是不行啊 我的root密码是222222 提示我输错密码以后我再输了一遍222222 还是不行啊 {:2_94:}
age 于 2011-06-17 16:14:40发表:
[code]我输入root和我的密码[/code]你只要输入一个密码就行了, 怎么输二个, 第二个密码就会被/etc/profile捕捉到,开始比对了
liuhongming 于 2011-06-17 16:09:59发表:
我输入root和我的密码
然后提示我You had input an error password , please input again !
我输入123456 回车以后又回到了登陆界面 谁救救我啊
liuhongming 于 2011-06-17 13:57:45发表:
我也对/etc/profile进行了编辑,红色部分是我添加的部分,我重启以后怎么没有出现你那种情况 是不是少写点什么
# /etc/profile
# root.profile
clear
echo "You had input an error password, please input again!"
echo
echo -n "Login:"
read p
if ("$p"="123456") then
clear
else
exit
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
fi
}
age 于 2011-06-17 12:18:51发表:
You had input an error password , please input again !
出现这句提示后, 再输入密码 123456 就能成功登入了
xsh200820156 于 2011-06-17 11:37:27发表:
恩,谢谢[Hl.y]成员
我把原问题的描述给你说一下吧,原问题是这样的:root密码是123456
一般情况下,只要用户输入的用户名和口令正确,就能顺利进入系统。如果我们在进入系统时设置了陷阱,并使黑客对此防不胜防,就会大大提高入侵的难度系数。例如,当黑客已获取正确的root口令,并以root身份登录时,我们在此设置一个迷魂阵,提示它,你输入的口令错误,并让它重输用户名和口令。而其实,这些提示都是虚假的,只要在某处输入一个密码就可通过。黑客因此就掉入这个陷阱,不断地输入root用户名和口令,却不断地得到口令错误的提示,从而使它怀疑所获口令的正确性,放弃入侵的企图。
给超级用户也就是root用户设置陷阱,并不会给系统带来太多的麻烦,因为,拥有root口令的人数不会太多,为了系统的安全,稍微增加一点复杂性也是值得的。这种陷阱的设置时很方便的,我们只要在root用户的.profile中加一段程序就可以了。我们完全可以在这段程序中触发其他入侵检测与预警控制程序。陷阱程序如下:
# root .profile
Clear
Echo “You had input an error password , please input again !”
Echo
Echo -n “Login:”
Read p
If ( “$p” = “123456”) then
Clear
Else
Exit
它说在某处输入一个密码就能进入系统了,我弄了很长时间,就是不知道在哪输入密码,如果你测试成功的话就告诉我一下怎么解决啊,谢谢了。
age 于 2011-06-16 15:40:00发表:
晕, 前面几个回贴不都解释清楚了吗
问题就出在/etc/profile的额外认证里
你要想解决的话,
1. 删除/etc/profile里相关内容
2.[code]If ( “$p” = “123456”) then [/code]把这句的123456换成真实密码
3.[code] Else
Exit[/code]删掉这二句
xsh200820156 于 2011-06-16 10:59:35发表:
我的感觉是当输入正确的密码的时候已经登录的到系统上了,但是之后又跳到了提示信息哪里,就是不知道要怎么解决这个问题啊,你们可以自己试一下,能找到到解决方法可以分享一下啊。
hantu 于 2011-06-14 12:39:42发表:
按楼主说的你的正确密码是111111,既然输对了那就会登录系统并执行你所设定的脚本,可是在脚本中你却检查如何输入的不是123456就退出,那现在正是这样子的啊,密码输对了进入系统并执行脚本,而且发现密码并不是123456所以接着就退出。
age 于 2011-06-14 11:22:43发表:
你的代码里有Exit, 所以会退出
/etc/profile是在你登录成功后运行的
从整个流程上说是这样的
1. 首先是系统登录, 进入系统
2. 运行/etc/profile, 再次输入密码
3. 当密码不是123456时, 运行Exit, 退出系统, 返回登录界面
这就是你所说的死循环
xsh200820156 于 2011-06-14 11:09:18发表:
我做的是蜜罐技术,我上面不是说的很清楚了吗?呵呵
age 于 2011-06-14 09:56:58发表:
我很好奇, 你加这段代码有什么意义?
密码验证一般由pam来做, 判断依据是/etc/shadow