用linux c寫的驗證系統使用者密碼的程式

2021-06-05 03:38:42 字數 2238 閱讀 1239

通過環境變數user和pass指定使用者密碼,如果驗證失敗則sleep 2秒防止惡意攻擊。程式需要owner為root來執行,並設定suid保證其他使用者能執行。 這個簡單的程式會有什麼漏洞不??

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

#define _xopen_source

#include

#include

#include

#include

#include

#include

intcheck_password (constchar*user,constchar*password)

errno= 0;

user_data = getspnam (user);

if(user_data == null)

if(strcmp(crypt (password, user_data->sp_pwdp), user_data->sp_pwdp) != 0)

return0;

}

intmain (void)

makefile:?

1

2

3

4

5

6

all:

gcc -wall -o cgitauth cgitauth.c -lcrypt

chmod u+s cgitauth

install:

cp -a cgitauth /usr/bin

這東西用來幹嘛的?

好吧,是配合apache2的mod_authnz_external 做系統使用者驗證的,資料檔案就是/etc/shadow咯。

linux c 驗證 linux 使用者密碼

最初linux將使用者的密碼通過某種one way function得到乙個雜湊 加密 後的字串,並儲存該字串在密碼檔案中,但這種方式易遭受字典攻擊,攻擊者只有準備好字典,使用相同的one way function計算出對應的值,逐個對比就ok就可以攻破。為了提高安全性,引入salt,所謂的salt...

python呼叫Linux C系統使用者認證介面

p.s.使用python版本為2.7 py3有點小驚喜哦 我不寫c,原因暫不深究了 1.乙個基本使用者驗證介面無非包括兩點 使用者名稱 密碼 2.在密碼部分還需要考慮輸入不顯示提高安全性 大體只要實現這兩點功能,乞丐版功能便做完了。對於第一點 linux系統的使用者及認證資訊,儲存在passwd和s...

用jquery寫自己的form表單驗證

這幾天看了鋒利的jquery,感覺很不錯。特別是jquery強大的選擇器。今天就利用jquery寫了乙個自己的form表單驗證的小案例。當鞏固下jquery。首先貼下 當然只是乙個小案例。思路 1 這裡的 validate 是我們需要驗證的型別 屬於日期型別 這裡你也可以自己定義。id屬性就不用說了...