今晚安裝checksec花了好長時間。。。
網安課上要用到,但是搜到的安裝都或多或少有點問題,還有使用方法也都是老版的,所以寫個博客記錄一下,不能白忙活~
問題1:ln: 無法創建符號鏈接'/usr/local/bin/checksec': 文件已存在
abc@abc-virtual-machine:~/checksec.sh$ sudo ln -s checksec /usr/local/bin/checksec [sudo] abc 的密碼: ln: 無法創建符號鏈接'/usr/local/bin/checksec': 文件已存在
這個問題是我一開始給它創建鏈接的時候遇到的,我也不是很懂,我當時是把下載的checksec文件都刪掉又重下了,然后就沒這個出現了,但是好像不用把它刪掉的,本來就是要把checsec文件移到/usr/local/bin/,所以遇到這個問題不用管,繼續操作。
問題2:bash: /usr/local/bin/checksec: 符號連接的層數過多
abc@abc-virtual-machine:~$ checksec bash: /usr/local/bin/checksec: 符號連接的層數過多
這個時候,我已經進入到checksec.sh文件下,然后把checksec在/usr/local/bin/建立了鏈接(就是問題1的代碼),但是執行checksec時卻顯示這個錯誤,查了資料說要用絕對地址不能用相對地址,不過這明明用的是絕對地址呀,而且也在checksec.sh文件下可以直接用checksec,有點百思不得其解,后來試了試checksec也用絕對地址,就解決了。。。
abc@abc-virtual-machine:~$ sudo ln -s ~/checksec.sh/checksec /usr/local/bin/checksec abc@abc-virtual-machine:~$ checksec Usage: checksec [--format={cli,csv,xml,json}] [OPTION] Options: ## Checksec Options --file={file} --dir={directory} --listfile={text file with one file per line} --proc={process name} --proc-all --proc-libs={process ID} --kernel[=kconfig] --fortify-file={executable-file} --fortify-proc={process ID} --version --help --update or --upgrade ## Modifiers --debug --verbose --format={cli,csv,xml,json} --output={cli,csv,xml,json} --extended For more information, see: http://github.com/slimm609/checksec.sh
問題3:怎么用checksec
我當時就按照網上的命令一個個試,但是都不行。。。(怪我沒看懂文檔)最后無奈看看文檔好像是用命令checksec --filename=xxx(絕對地址),直接上代碼吧
abc@abc-virtual-machine:~/桌面/lab2-bin/lab2-1$ checksec --file=level0 RELRO STACK CANARY NX PIE RPATH RUNPATH Symbols FORTIFY Fortified Fortifiable FILE Partial RELRO No canary found NX enabled No PIE No RPATH No RUNPATH 76) Symbols No 0 2 level0
大概就是這些,后面有遇到新的想起來的話再補充