日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

安全工具checksec.sh

發(fā)布時(shí)間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安全工具checksec.sh 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一.下載checksec.sh

下載地址:http://www.trapkit.de/tools/checksec.html


二.使用方法

Modern Linux distributions offer some mitigation techniques to make it harder to exploit software vulnerabilities reliably. Mitigations such as RELRO, NoExecute (NX), Stack Canaries, Address Space Layout Randomization (ASLR) and Position Independent Executables (PIE) have made reliably exploiting any vulnerabilities that do exist far more challenging. The checksec.sh script is designed to test what standard Linux OS and?PaX?security features are being used.

#!/bin/bash # # The BSD License (http://www.opensource.org/licenses/bsd-license.php) # specifies the terms and conditions of use for checksec.sh: # # Copyright (c) 2009-2011, Tobias Klein. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in # the documentation and/or other materials provided with the # distribution. # * Neither the name of Tobias Klein nor the name of trapkit.de may be # used to endorse or promote products derived from this software # without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS # OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # Name : checksec.sh # Version : 1.5 # Author : Tobias Klein # Date : November 2011 # Download: http://www.trapkit.de/tools/checksec.html # Changes : http://www.trapkit.de/tools/checksec_changes.txt # # Description: # # Modern Linux distributions offer some mitigation techniques to make it # harder to exploit software vulnerabilities reliably. Mitigations such # as RELRO, NoExecute (NX), Stack Canaries, Address Space Layout # Randomization (ASLR) and Position Independent Executables (PIE) have # made reliably exploiting any vulnerabilities that do exist far more # challenging. The checksec.sh script is designed to test what *standard* # Linux OS and PaX (http://pax.grsecurity.net/) security features are being # used. # # As of version 1.3 the script also lists the status of various Linux kernel # protection mechanisms. # # Credits: # # Thanks to Brad Spengler (grsecurity.net) for the PaX support. # Thanks to Jon Oberheide (jon.oberheide.org) for the kernel support. # Thanks to Ollie Whitehouse (Research In Motion) for rpath/runpath support. # # Others that contributed to checksec.sh (in no particular order): # # Simon Ruderich, Denis Scherbakov, Stefan Kuttler, Radoslaw Madej, # Anthony G. Basile, Martin Vaeth and Brian Davis. ## global vars have_readelf=1 verbose=false# FORTIFY_SOURCE vars FS_end=_chk FS_cnt_total=0 FS_cnt_checked=0 FS_cnt_unchecked=0 FS_chk_func_libc=0 FS_functions=0 FS_libc=0# version information version() {echo "checksec v1.5, Tobias Klein, www.trapkit.de, November 2011"echo }# help help() {echo "Usage: checksec [OPTION]"echoecho "Options:"echoecho " --file <executable-file>"echo " --dir <directory> [-v]"echo " --proc <process name>"echo " --proc-all"echo " --proc-libs <process ID>"echo " --kernel"echo " --fortify-file <executable-file>"echo " --fortify-proc <process ID>"echo " --version"echo " --help"echoecho "For more information, see:"echo " http://www.trapkit.de/tools/checksec.html"echo }# check if command exists command_exists () {type $1 > /dev/null 2>&1; }# check if directory exists dir_exists () {if [ -d $1 ] ; thenreturn 0elsereturn 1fi }# check user privileges root_privs () {if [ $(/usr/bin/id -u) -eq 0 ] ; thenreturn 0elsereturn 1fi }# check if input is numeric isNumeric () {echo "$@" | grep -q -v "[^0-9]" }# check if input is a string isString () {echo "$@" | grep -q -v "[^A-Za-z]" }# check file(s) filecheck() {# check for RELRO supportif readelf -l $1 2>/dev/null | grep -q 'GNU_RELRO'; thenif readelf -d $1 2>/dev/null | grep -q 'BIND_NOW'; thenecho -n -e '\033[32mFull RELRO \033[m 'elseecho -n -e '\033[33mPartial RELRO\033[m 'fielseecho -n -e '\033[31mNo RELRO \033[m 'fi# check for stack canary supportif readelf -s $1 2>/dev/null | grep -q '__stack_chk_fail'; thenecho -n -e '\033[32mCanary found \033[m 'elseecho -n -e '\033[31mNo canary found\033[m 'fi# check for NX supportif readelf -W -l $1 2>/dev/null | grep 'GNU_STACK' | grep -q 'RWE'; thenecho -n -e '\033[31mNX disabled\033[m 'elseecho -n -e '\033[32mNX enabled \033[m 'fi # check for PIE supportif readelf -h $1 2>/dev/null | grep -q 'Type:[[:space:]]*EXEC'; thenecho -n -e '\033[31mNo PIE \033[m 'elif readelf -h $1 2>/dev/null | grep -q 'Type:[[:space:]]*DYN'; thenif readelf -d $1 2>/dev/null | grep -q '(DEBUG)'; thenecho -n -e '\033[32mPIE enabled \033[m 'else echo -n -e '\033[33mDSO \033[m 'fielseecho -n -e '\033[33mNot an ELF file\033[m 'fi # check for rpath / run pathif readelf -d $1 2>/dev/null | grep -q 'rpath'; thenecho -n -e '\033[31mRPATH \033[m 'elseecho -n -e '\033[32mNo RPATH \033[m 'fiif readelf -d $1 2>/dev/null | grep -q 'runpath'; thenecho -n -e '\033[31mRUNPATH \033[m 'elseecho -n -e '\033[32mNo RUNPATH \033[m 'fi }# check process(es) proccheck() {# check for RELRO supportif readelf -l $1/exe 2>/dev/null | grep -q 'Program Headers'; thenif readelf -l $1/exe 2>/dev/null | grep -q 'GNU_RELRO'; thenif readelf -d $1/exe 2>/dev/null | grep -q 'BIND_NOW'; thenecho -n -e '\033[32mFull RELRO \033[m 'elseecho -n -e '\033[33mPartial RELRO \033[m 'fielseecho -n -e '\033[31mNo RELRO \033[m 'fielseecho -n -e '\033[31mPermission denied (please run as root)\033[m\n'exit 1fi# check for stack canary supportif readelf -s $1/exe 2>/dev/null | grep -q 'Symbol table'; thenif readelf -s $1/exe 2>/dev/null | grep -q '__stack_chk_fail'; thenecho -n -e '\033[32mCanary found \033[m 'elseecho -n -e '\033[31mNo canary found \033[m 'fielseif [ "$1" != "1" ] ; thenecho -n -e '\033[33mPermission denied \033[m 'elseecho -n -e '\033[33mNo symbol table found\033[m 'fifi# first check for PaX supportif cat $1/status 2> /dev/null | grep -q 'PaX:'; thenpageexec=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b6) )segmexec=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b10) )mprotect=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b8) )randmmap=( $(cat $1/status 2> /dev/null | grep 'PaX:' | cut -b9) )if [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "M" && "$randmmap" = "R" ]] ; thenecho -n -e '\033[32mPaX enabled\033[m 'elif [[ "$pageexec" = "p" && "$segmexec" = "s" && "$randmmap" = "R" ]] ; thenecho -n -e '\033[33mPaX ASLR only\033[m 'elif [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "m" && "$randmmap" = "R" ]] ; thenecho -n -e '\033[33mPaX mprot off \033[m'elif [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "M" && "$randmmap" = "r" ]] ; thenecho -n -e '\033[33mPaX ASLR off\033[m 'elif [[ "$pageexec" = "P" || "$segmexec" = "S" ]] && [[ "$mprotect" = "m" && "$randmmap" = "r" ]] ; thenecho -n -e '\033[33mPaX NX only\033[m 'elseecho -n -e '\033[31mPaX disabled\033[m 'fi# fallback check for NX supportelif readelf -W -l $1/exe 2>/dev/null | grep 'GNU_STACK' | grep -q 'RWE'; thenecho -n -e '\033[31mNX disabled\033[m 'elseecho -n -e '\033[32mNX enabled \033[m 'fi # check for PIE supportif readelf -h $1/exe 2>/dev/null | grep -q 'Type:[[:space:]]*EXEC'; thenecho -n -e '\033[31mNo PIE \033[m 'elif readelf -h $1/exe 2>/dev/null | grep -q 'Type:[[:space:]]*DYN'; thenif readelf -d $1/exe 2>/dev/null | grep -q '(DEBUG)'; thenecho -n -e '\033[32mPIE enabled \033[m 'else echo -n -e '\033[33mDynamic Shared Object\033[m 'fielseecho -n -e '\033[33mNot an ELF file \033[m 'fi }# check mapped libraries libcheck() {libs=( $(awk '{ print $6 }' /proc/$1/maps | grep '/' | sort -u | xargs file | grep ELF | awk '{ print $1 }' | sed 's/:/ /') )printf "\n* Loaded libraries (file information, # of mapped files: ${#libs[@]}):\n\n"for element in $(seq 0 $((${#libs[@]} - 1)))doecho " ${libs[$element]}:"echo -n " "filecheck ${libs[$element]}printf "\n\n"done }# check for system-wide ASLR support aslrcheck() {# PaX ASLR supportif !(cat /proc/1/status 2> /dev/null | grep -q 'Name:') ; thenecho -n -e ':\033[33m insufficient privileges for PaX ASLR checks\033[m\n'echo -n -e ' Fallback to standard Linux ASLR check'fiif cat /proc/1/status 2> /dev/null | grep -q 'PaX:'; thenprintf ": "if cat /proc/1/status 2> /dev/null | grep 'PaX:' | grep -q 'R'; thenecho -n -e '\033[32mPaX ASLR enabled\033[m\n\n'elseecho -n -e '\033[31mPaX ASLR disabled\033[m\n\n'fielse# standard Linux 'kernel.randomize_va_space' ASLR support# (see the kernel file 'Documentation/sysctl/kernel.txt' for a detailed description)printf " (kernel.randomize_va_space): "if /sbin/sysctl -a 2>/dev/null | grep -q 'kernel.randomize_va_space = 1'; thenecho -n -e '\033[33mOn (Setting: 1)\033[m\n\n'printf " Description - Make the addresses of mmap base, stack and VDSO page randomized.\n"printf " This, among other things, implies that shared libraries will be loaded to \n"printf " random addresses. Also for PIE-linked binaries, the location of code start\n"printf " is randomized. Heap addresses are *not* randomized.\n\n"elif /sbin/sysctl -a 2>/dev/null | grep -q 'kernel.randomize_va_space = 2'; thenecho -n -e '\033[32mOn (Setting: 2)\033[m\n\n'printf " Description - Make the addresses of mmap base, heap, stack and VDSO page randomized.\n"printf " This, among other things, implies that shared libraries will be loaded to random \n"printf " addresses. Also for PIE-linked binaries, the location of code start is randomized.\n\n"elif /sbin/sysctl -a 2>/dev/null | grep -q 'kernel.randomize_va_space = 0'; thenecho -n -e '\033[31mOff (Setting: 0)\033[m\n'elseecho -n -e '\033[31mNot supported\033[m\n'fiprintf " See the kernel file 'Documentation/sysctl/kernel.txt' for more details.\n\n"fi }# check cpu nx flag nxcheck() {if grep -q nx /proc/cpuinfo; thenecho -n -e '\033[32mYes\033[m\n\n'elseecho -n -e '\033[31mNo\033[m\n\n'fi }# check for kernel protection mechanisms kernelcheck() {printf " Description - List the status of kernel protection mechanisms. Rather than\n"printf " inspect kernel mechanisms that may aid in the prevention of exploitation of\n"printf " userspace processes, this option lists the status of kernel configuration\n"printf " options that harden the kernel itself against attack.\n\n"printf " Kernel config: "if [ -f /proc/config.gz ] ; thenkconfig="zcat /proc/config.gz"printf "\033[32m/proc/config.gz\033[m\n\n"elif [ -f /boot/config-`uname -r` ] ; thenkconfig="cat /boot/config-`uname -r`"printf "\033[33m/boot/config-`uname -r`\033[m\n\n"printf " Warning: The config on disk may not represent running kernel config!\n\n";elif [ -f "${KBUILD_OUTPUT:-/usr/src/linux}"/.config ] ; thenkconfig="cat ${KBUILD_OUTPUT:-/usr/src/linux}/.config"printf "\033[33m%s\033[m\n\n" "${KBUILD_OUTPUT:-/usr/src/linux}/.config"printf " Warning: The config on disk may not represent running kernel config!\n\n";elseprintf "\033[31mNOT FOUND\033[m\n\n"exit 0fiprintf " GCC stack protector support: "if $kconfig | grep -qi 'CONFIG_CC_STACKPROTECTOR=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Strict user copy checks: "if $kconfig | grep -qi 'CONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Enforce read-only kernel data: "if $kconfig | grep -qi 'CONFIG_DEBUG_RODATA=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Restrict /dev/mem access: "if $kconfig | grep -qi 'CONFIG_STRICT_DEVMEM=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Restrict /dev/kmem access: "if $kconfig | grep -qi 'CONFIG_DEVKMEM=y'; thenprintf "\033[31mDisabled\033[m\n"elseprintf "\033[32mEnabled\033[m\n"fiprintf "\n"printf "* grsecurity / PaX: "if $kconfig | grep -qi 'CONFIG_GRKERNSEC=y'; thenif $kconfig | grep -qi 'CONFIG_GRKERNSEC_HIGH=y'; thenprintf "\033[32mHigh GRKERNSEC\033[m\n\n"elif $kconfig | grep -qi 'CONFIG_GRKERNSEC_MEDIUM=y'; thenprintf "\033[33mMedium GRKERNSEC\033[m\n\n"elif $kconfig | grep -qi 'CONFIG_GRKERNSEC_LOW=y'; thenprintf "\033[31mLow GRKERNSEC\033[m\n\n"elseprintf "\033[33mCustom GRKERNSEC\033[m\n\n"fiprintf " Non-executable kernel pages: "if $kconfig | grep -qi 'CONFIG_PAX_KERNEXEC=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Prevent userspace pointer deref: "if $kconfig | grep -qi 'CONFIG_PAX_MEMORY_UDEREF=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Prevent kobject refcount overflow: "if $kconfig | grep -qi 'CONFIG_PAX_REFCOUNT=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Bounds check heap object copies: "if $kconfig | grep -qi 'CONFIG_PAX_USERCOPY=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Disable writing to kmem/mem/port: "if $kconfig | grep -qi 'CONFIG_GRKERNSEC_KMEM=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Disable privileged I/O: "if $kconfig | grep -qi 'CONFIG_GRKERNSEC_IO=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Harden module auto-loading: "if $kconfig | grep -qi 'CONFIG_GRKERNSEC_MODHARDEN=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fiprintf " Hide kernel symbols: "if $kconfig | grep -qi 'CONFIG_GRKERNSEC_HIDESYM=y'; thenprintf "\033[32mEnabled\033[m\n"elseprintf "\033[31mDisabled\033[m\n"fielseprintf "\033[31mNo GRKERNSEC\033[m\n\n"printf " The grsecurity / PaX patchset is available here:\n"printf " http://grsecurity.net/\n"fiprintf "\n"printf "* Kernel Heap Hardening: "if $kconfig | grep -qi 'CONFIG_KERNHEAP=y'; thenif $kconfig | grep -qi 'CONFIG_KERNHEAP_FULLPOISON=y'; thenprintf "\033[32mFull KERNHEAP\033[m\n\n"elseprintf "\033[33mPartial KERNHEAP\033[m\n\n"fielseprintf "\033[31mNo KERNHEAP\033[m\n\n"printf " The KERNHEAP hardening patchset is available here:\n"printf " https://www.subreption.com/kernheap/\n\n"fi }# --- FORTIFY_SOURCE subfunctions (start) ---# is FORTIFY_SOURCE supported by libc? FS_libc_check() {printf "* FORTIFY_SOURCE support available (libc) : "if [ "${#FS_chk_func_libc[@]}" != "0" ] ; thenprintf "\033[32mYes\033[m\n"elseprintf "\033[31mNo\033[m\n"exit 1fi }# was the binary compiled with FORTIFY_SOURCE? FS_binary_check() {printf "* Binary compiled with FORTIFY_SOURCE support: "for FS_elem_functions in $(seq 0 $((${#FS_functions[@]} - 1)))doif [[ ${FS_functions[$FS_elem_functions]} =~ _chk ]] ; thenprintf "\033[32mYes\033[m\n"returnfidoneprintf "\033[31mNo\033[m\n"exit 1 }FS_comparison() {echoprintf " ------ EXECUTABLE-FILE ------- . -------- LIBC --------\n"printf " FORTIFY-able library functions | Checked function names\n"printf " -------------------------------------------------------\n"for FS_elem_libc in $(seq 0 $((${#FS_chk_func_libc[@]} - 1)))dofor FS_elem_functions in $(seq 0 $((${#FS_functions[@]} - 1)))doFS_tmp_func=${FS_functions[$FS_elem_functions]}FS_tmp_libc=${FS_chk_func_libc[$FS_elem_libc]}if [[ $FS_tmp_func =~ ^$FS_tmp_libc$ ]] ; thenprintf " \033[31m%-30s\033[m | __%s%s\n" $FS_tmp_func $FS_tmp_libc $FS_endlet FS_cnt_total++let FS_cnt_unchecked++elif [[ $FS_tmp_func =~ ^$FS_tmp_libc(_chk) ]] ; thenprintf " \033[32m%-30s\033[m | __%s%s\n" $FS_tmp_func $FS_tmp_libc $FS_endlet FS_cnt_total++let FS_cnt_checked++fidonedone }FS_summary() {echoprintf "SUMMARY:\n\n"printf "* Number of checked functions in libc : ${#FS_chk_func_libc[@]}\n"printf "* Total number of library functions in the executable: ${#FS_functions[@]}\n"printf "* Number of FORTIFY-able functions in the executable : %s\n" $FS_cnt_totalprintf "* Number of checked functions in the executable : \033[32m%s\033[m\n" $FS_cnt_checkedprintf "* Number of unchecked functions in the executable : \033[31m%s\033[m\n" $FS_cnt_uncheckedecho }# --- FORTIFY_SOURCE subfunctions (end) ---if !(command_exists readelf) ; thenprintf "\033[31mWarning: 'readelf' not found! It's required for most checks.\033[m\n\n"have_readelf=0 fi# parse command-line arguments case "$1" in--version)versionexit 0;;--help)helpexit 0;;--dir)if [ "$3" = "-v" ] ; thenverbose=truefiif [ $have_readelf -eq 0 ] ; thenexit 1fiif [ -z "$2" ] ; thenprintf "\033[31mError: Please provide a valid directory.\033[m\n\n"exit 1fi# remove trailing slashestempdir=`echo $2 | sed -e "s/\/*$//"`if [ ! -d $tempdir ] ; thenprintf "\033[31mError: The directory '$tempdir' does not exist.\033[m\n\n"exit 1ficd $tempdirprintf "RELRO STACK CANARY NX PIE RPATH RUNPATH FILE\n"for N in [A-Za-z]*; doif [ "$N" != "[A-Za-z]*" ]; then# read permissions?if [ ! -r $N ]; thenprintf "\033[31mError: No read permissions for '$tempdir/$N' (run as root).\033[m\n"else# ELF executable?out=`file $N`if [[ ! $out =~ ELF ]] ; thenif [ "$verbose" = "true" ] ; thenprintf "\033[34m*** Not an ELF file: $tempdir/"file $Nprintf "\033[m"fielse filecheck $Nif [ `find $tempdir/$N \( -perm -004000 -o -perm -002000 \) -type f -print` ]; thenprintf "\033[37;41m%s%s\033[m" $2 $Nelseprintf "%s%s" $tempdir/ $Nfiechofififidoneexit 0;;--file)if [ $have_readelf -eq 0 ] ; thenexit 1fiif [ -z "$2" ] ; thenprintf "\033[31mError: Please provide a valid file.\033[m\n\n"exit 1fi# does the file exist?if [ ! -e $2 ] ; thenprintf "\033[31mError: The file '$2' does not exist.\033[m\n\n"exit 1fi# read permissions?if [ ! -r $2 ] ; thenprintf "\033[31mError: No read permissions for '$2' (run as root).\033[m\n\n"exit 1fi# ELF executable?out=`file $2`if [[ ! $out =~ ELF ]] ; thenprintf "\033[31mError: Not an ELF file: "file $2printf "\033[m\n"exit 1fiprintf "RELRO STACK CANARY NX PIE RPATH RUNPATH FILE\n"filecheck $2if [ `find $2 \( -perm -004000 -o -perm -002000 \) -type f -print` ] ; thenprintf "\033[37;41m%s%s\033[m" $2 $Nelseprintf "%s" $2fiechoexit 0;;--proc-all)if [ $have_readelf -eq 0 ] ; thenexit 1ficd /procprintf "* System-wide ASLR"aslrcheckprintf "* Does the CPU support NX: "nxcheck printf " COMMAND PID RELRO STACK CANARY NX/PaX PIE\n"for N in [1-9]*; doif [ $N != $$ ] && readlink -q $N/exe > /dev/null; thenprintf "%16s" `head -1 $N/status | cut -b 7-`printf "%7d " $Nproccheck $Nechofidoneif [ ! -e /usr/bin/id ] ; thenprintf "\n\033[33mNote: If you are running 'checksec.sh' as an unprivileged user, you\n"printf " will not see all processes. Please run the script as root.\033[m\n\n"else if !(root_privs) ; thenprintf "\n\033[33mNote: You are running 'checksec.sh' as an unprivileged user.\n" printf " Too see all processes, please run the script as root.\033[m\n\n"fifiexit 0;;--proc)if [ $have_readelf -eq 0 ] ; thenexit 1fiif [ -z "$2" ] ; thenprintf "\033[31mError: Please provide a valid process name.\033[m\n\n"exit 1fiif !(isString "$2") ; thenprintf "\033[31mError: Please provide a valid process name.\033[m\n\n"exit 1ficd /procprintf "* System-wide ASLR"aslrcheckprintf "* Does the CPU support NX: "nxcheckprintf " COMMAND PID RELRO STACK CANARY NX/PaX PIE\n"for N in `ps -Ao pid,comm | grep $2 | cut -b1-6`; doif [ -d $N ] ; thenprintf "%16s" `head -1 $N/status | cut -b 7-`printf "%7d " $N# read permissions?if [ ! -r $N/exe ] ; thenif !(root_privs) ; thenprintf "\033[31mNo read permissions for '/proc/$N/exe' (run as root).\033[m\n\n"exit 1fiif [ ! `readlink $N/exe` ] ; thenprintf "\033[31mPermission denied. Requested process ID belongs to a kernel thread.\033[m\n\n"exit 1fiexit 1fiproccheck $Nechofidoneexit 0;;--proc-libs)if [ $have_readelf -eq 0 ] ; thenexit 1fiif [ -z "$2" ] ; thenprintf "\033[31mError: Please provide a valid process ID.\033[m\n\n"exit 1fiif !(isNumeric "$2") ; thenprintf "\033[31mError: Please provide a valid process ID.\033[m\n\n"exit 1ficd /procprintf "* System-wide ASLR"aslrcheckprintf "* Does the CPU support NX: "nxcheckprintf "* Process information:\n\n"printf " COMMAND PID RELRO STACK CANARY NX/PaX PIE\n"N=$2if [ -d $N ] ; thenprintf "%16s" `head -1 $N/status | cut -b 7-`printf "%7d " $N# read permissions?if [ ! -r $N/exe ] ; thenif !(root_privs) ; thenprintf "\033[31mNo read permissions for '/proc/$N/exe' (run as root).\033[m\n\n"exit 1fiif [ ! `readlink $N/exe` ] ; thenprintf "\033[31mPermission denied. Requested process ID belongs to a kernel thread.\033[m\n\n"exit 1fiexit 1fiproccheck $Necholibcheck $Nfiexit 0;;--kernel)cd /procprintf "* Kernel protection information:\n\n"kernelcheckexit 0;;--fortify-file)if [ $have_readelf -eq 0 ] ; thenexit 1fiif [ -z "$2" ] ; thenprintf "\033[31mError: Please provide a valid file.\033[m\n\n"exit 1fi# does the file exist?if [ ! -e $2 ] ; thenprintf "\033[31mError: The file '$2' does not exist.\033[m\n\n"exit 1fi# read permissions?if [ ! -r $2 ] ; thenprintf "\033[31mError: No read permissions for '$2' (run as root).\033[m\n\n"exit 1fi# ELF executable?out=`file $2`if [[ ! $out =~ ELF ]] ; thenprintf "\033[31mError: Not an ELF file: "file $2printf "\033[m\n"exit 1fiif [ -e /lib/libc.so.6 ] ; thenFS_libc=/lib/libc.so.6elif [ -e /lib64/libc.so.6 ] ; thenFS_libc=/lib64/libc.so.6elif [ -e /lib/i386-linux-gnu/libc.so.6 ] ; thenFS_libc=/lib/i386-linux-gnu/libc.so.6elif [ -e /lib/x86_64-linux-gnu/libc.so.6 ] ; thenFS_libc=/lib/x86_64-linux-gnu/libc.so.6elseprintf "\033[31mError: libc not found.\033[m\n\n"exit 1fiFS_chk_func_libc=( $(readelf -s $FS_libc | grep _chk@@ | awk '{ print $8 }' | cut -c 3- | sed -e 's/_chk@.*//') )FS_functions=( $(readelf -s $2 | awk '{ print $8 }' | sed 's/_*//' | sed -e 's/@.*//') )FS_libc_checkFS_binary_checkFS_comparisonFS_summaryexit 0;;--fortify-proc)if [ $have_readelf -eq 0 ] ; thenexit 1fiif [ -z "$2" ] ; thenprintf "\033[31mError: Please provide a valid process ID.\033[m\n\n"exit 1fiif !(isNumeric "$2") ; thenprintf "\033[31mError: Please provide a valid process ID.\033[m\n\n"exit 1ficd /procN=$2if [ -d $N ] ; then# read permissions?if [ ! -r $N/exe ] ; thenif !(root_privs) ; thenprintf "\033[31mNo read permissions for '/proc/$N/exe' (run as root).\033[m\n\n"exit 1fiif [ ! `readlink $N/exe` ] ; thenprintf "\033[31mPermission denied. Requested process ID belongs to a kernel thread.\033[m\n\n"exit 1fiexit 1fiif [ -e /lib/libc.so.6 ] ; thenFS_libc=/lib/libc.so.6elif [ -e /lib64/libc.so.6 ] ; thenFS_libc=/lib64/libc.so.6elif [ -e /lib/i386-linux-gnu/libc.so.6 ] ; thenFS_libc=/lib/i386-linux-gnu/libc.so.6elif [ -e /lib/x86_64-linux-gnu/libc.so.6 ] ; thenFS_libc=/lib/x86_64-linux-gnu/libc.so.6elseprintf "\033[31mError: libc not found.\033[m\n\n"exit 1fiprintf "* Process name (PID) : %s (%d)\n" `head -1 $N/status | cut -b 7-` $NFS_chk_func_libc=( $(readelf -s $FS_libc | grep _chk@@ | awk '{ print $8 }' | cut -c 3- | sed -e 's/_chk@.*//') )FS_functions=( $(readelf -s $2/exe | awk '{ print $8 }' | sed 's/_*//' | sed -e 's/@.*//') )FS_libc_checkFS_binary_checkFS_comparisonFS_summaryfiexit 0;;*)if [ "$#" != "0" ] ; thenprintf "\033[31mError: Unknown option '$1'.\033[m\n\n"fihelpexit 1;; esac

三.說(shuō)明

總結(jié)

以上是生活随笔為你收集整理的安全工具checksec.sh的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

人人超碰人人 | 美女免费视频一区二区 | 99视频在线免费播放 | 九九免费在线视频 | 成人在线黄色 | 久久一及片 | av天天澡天天爽天天av | 天天摸日日摸人人看 | 在线观看日韩 | 操少妇视频 | 国产黄色精品网站 | 亚洲欧洲xxxx | 日本少妇久久久 | 99久久国产免费免费 | 伊人网综合在线观看 | 91完整版在线观看 | 三级av网站 | 亚洲激情五月 | 超碰大片| 天天色天天干天天色 | 中文在线a√在线 | 97在线观看免费观看高清 | 伊人资源站 | 国产精品剧情在线亚洲 | 五月天中文字幕mv在线 | 免费av成人在线 | 激情综合网五月激情 | 免费在线国产黄色 | 国产69精品久久app免费版 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲成人精品久久 | 一区二区三区在线看 | a天堂在线看 | 天天干天天天天 | av国产网站 | 天天操福利视频 | 国产一区二区三区免费在线 | 国产高清视频网 | 9久久精品 | 日韩免费视频播放 | 天天色宗合 | 夜夜天天干 | 91在线看黄 | 人人爽人人看 | 伊人精品影院 | av日韩精品 | h视频在线看 | 欧美aaa视频| 天天色.com | 亚洲综合色丁香婷婷六月图片 | 81精品国产乱码久久久久久 | 天天爱天天草 | 色综合天天天天做夜夜夜夜做 | 亚洲毛片久久 | 国产精品久久久久久久久久白浆 | 久久精品一区二区三区中文字幕 | 成人午夜电影网 | 久草在线高清视频 | bayu135国产精品视频 | 深爱激情久久 | 久久99热精品 | 精品久久久久久久久久久久久久久久久久 | 日韩在线视频观看免费 | 国产偷在线| 午夜精品久久久久99热app | 久久精品中文字幕一区二区三区 | 国产高清免费在线播放 | 乱男乱女www7788| 黄色片网站 | 激情五月在线视频 | 久久久久成人精品 | 日韩精品中文字幕有码 | 99精品国产兔费观看久久99 | 97超碰色 | 成人 国产 在线 | 国产婷婷| 中文字幕一区二区三区久久蜜桃 | 99精品免费久久久久久久久日本 | 精品国产亚洲一区二区麻豆 | 在线视频日韩精品 | 久草视频资源 | 亚洲成av人片在线观看无 | 2024国产精品视频 | 亚洲免费观看视频 | 91亚洲欧美激情 | 欧美日韩午夜在线 | 亚洲91中文字幕无线码三区 | 又黄又色又爽 | 日本在线视频网址 | 亚洲午夜久久久久 | 91精品久久久久久 | 天天插天天操天天干 | 亚洲精品免费观看视频 | 国产伦理一区二区三区 | av中文在线 | 亚洲精品美女久久 | 天天看天天干 | 国产精品久久久久久久电影 | 五月天亚洲婷婷 | 欧美性生交大片免网 | 在线视频久| 色婷婷狠狠18 | 欧美另类交在线观看 | 成 人 a v天堂| 久久精品麻豆 | 亚洲精品激情 | 久久99电影 | 久久精品看片 | 狠狠精品| 亚洲日日射| 伊人黄色网 | 久久99国产精品视频 | 中文字幕 国产 一区 | 国产盗摄精品一区二区 | 8x8x在线观看视频 | 成年人黄色av| 91精品国产欧美一区二区成人 | 久久 亚洲视频 | 99久久日韩精品免费热麻豆美女 | 午夜影视av| 久久人网 | 天天操操操操操操 | 四虎成人精品永久免费av九九 | 在线观看国产区 | 久久精品亚洲一区二区三区观看模式 | 亚洲一区二区视频 | 日韩成人精品 | 成人免费视频播放 | 久久在线免费 | 免费黄色在线播放 | 日韩av在线高清 | 久久久久久久久毛片 | 日韩三级免费 | 国产成人精品一区二区 | 国产在线观看一 | 麻豆一精品传二传媒短视频 | 97超视频 | 国产精品成人av在线 | 一级片免费观看 | 国产成人av综合色 | 色婷婷综合激情 | 美女视频永久黄网站免费观看国产 | 久久不卡av| 91亚洲精品久久久蜜桃 | 色婷婷电影网 | 色综合天天狠天天透天天伊人 | 色婷五月天 | 日韩欧美在线免费观看 | 国内精品久久久久久久 | 国产很黄很色的视频 | 9999激情| 毛片永久新网址首页 | 99久久精品国产免费看不卡 | 99久在线精品99re8热视频 | 色婷婷久久一区二区 | av大片免费在线观看 | 国产综合精品久久 | 毛片区 | 久久伊人热 | 韩国一区二区三区在线观看 | 午夜av在线 | 在线欧美最极品的av | av一区二区三区在线观看 | 国产美女在线精品免费观看 | 欧美日韩亚洲一 | 久久免费试看 | 天天天天色射综合 | 欧美精品亚洲精品日韩精品 | 国产成人精品999 | 国产精品成人久久久久 | 91天天操 | 国产免费又黄又爽 | 午夜三级毛片 | 日韩精品欧美视频 | 久久久久久不卡 | 久久久久久久久毛片精品 | 久久精品一区二区国产 | 不卡视频一区二区三区 | 爱情影院aqdy鲁丝片二区 | 精品国产一区二区三区在线 | 毛片基地黄久久久久久天堂 | 免费裸体视频网 | 亚洲视频免费视频 | 久久高清片 | 毛片永久新网址首页 | 天天天干天天天操 | 91黄色视屏 | 国产一区二区在线免费观看 | 精品国产乱码久久久久久1区2匹 | 91人人揉日日捏人人看 | 亚洲欧美国产精品18p | 久久久久久电影 | 日本午夜在线亚洲.国产 | 亚洲日本一区二区在线 | av高清免费在线 | 97超碰在线资源 | 亚洲精品在线播放视频 | 精品国产aⅴ麻豆 | 人人爽人人片 | aaawww| 亚洲精品成人在线 | 亚洲视频1| 97人人超 | 久久精品一级片 | 国产在线观看地址 | 日本99久久| 久久久免费精品视频 | 日韩精选在线观看 | 午夜精品av | 天天干天天干天天干 | 天天色天天上天天操 | 最新精品视频在线 | 狂野欧美激情性xxxx | 中国一区二区视频 | 日韩免费一区二区在线观看 | 伊人婷婷久久 | 国内精品久久久久久久久久 | 精品久久久久一区二区国产 | 亚洲欧美综合 | 天堂在线视频免费观看 | 91最新地址永久入口 | 黄色特一级 | 色综合天天在线 | 狠狠操欧美 | 午夜精品一区二区三区在线视频 | 成年人网站免费观看 | 欧美日韩免费看 | www久久 | 激情在线网址 | 久久伊人爱 | 欧美日韩成人一区 | 国产原厂视频在线观看 | 精品影院 | 伊人色综合网 | 国产精品久久久久久久久久久久午夜 | 青青草国产精品 | 久久精品国产一区 | 久久久久国产精品www | 999久久精品| 日本高清免费中文字幕 | 四虎成人精品永久免费av | 91麻豆精品91久久久久同性 | 国产精品va在线观看入 | 国产最新在线观看 | 婷婷在线综合 | 国产一级免费av | 在线视频91| 欧美激情第十页 | 免费久久网站 | 又黄又爽又刺激的视频 | 国产精品久久久久久69 | 国产精品入口久久 | 国产午夜精品一区二区三区欧美 | 五月天久久狠狠 | 亚洲综合黄色 | 中文高清av| 国产资源精品在线观看 | 婷婷激情综合 | 一本一本久久a久久精品综合妖精 | 日韩女同一区二区三区在线观看 | 最新久久免费视频 | 免费网站看av片 | 久草在线视频免费资源观看 | 国产一区二区日本 | 欧美一级电影免费观看 | 日本黄色免费在线观看 | 国产精品视频你懂的 | 18网站在线观看 | 中文字幕资源在线 | 99久久精品网 | av亚洲产国偷v产偷v自拍小说 | 在线导航av | 亚洲国产精品99久久久久久久久 | 色就色,综合激情 | 亚洲成成品网站 | 国产黄色免费 | 亚洲精品观看 | 国产xvideos免费视频播放 | 成人国产网址 | 色婷婷在线播放 | 亚洲人成人99网站 | 亚洲欧洲成人精品av97 | 精品乱码一区二区三四区 | av网站免费线看精品 | 精品国产伦一区二区三区观看说明 | 免费91麻豆精品国产自产在线观看 | 亚洲 欧美 日韩 综合 | 人成午夜视频 | 国产一区二区影院 | 中文字幕在线观看2018 | 亚洲色图 校园春色 | 成人黄色免费在线观看 | 天天插天天爱 | 五月天综合婷婷 | 欧美久久久 | 亚洲一区 影院 | 在线精品视频免费观看 | 色综合久久久久久中文网 | 天天插狠狠插 | 欧美日韩1区| 91精品在线麻豆 | 夜夜骑日日操 | 韩国在线视频一区 | 黄色av电影网 | 草莓视频在线观看免费观看 | 国产专区视频在线观看 | 久久综合影院 | 国产在线自 | 久久精品香蕉 | 97久久久免费福利网址 | 99国产一区 | 不卡视频国产 | 91网站在线视频 | 四川妇女搡bbbb搡bbbb搡 | 九九热1 | av资源在线观看 | 成人午夜电影在线播放 | 国产精品久久久久久久久大全 | 国产色网站 | 免费情趣视频 | 国产精品无av码在线观看 | 97超碰资源站| 91视频a| 国产精品毛片久久蜜 | 日韩在线免费看 | 午夜av在线播放 | 一本一本久久a久久精品综合 | 91超在线| 日韩精品免费在线观看 | 国产高清日韩 | 亚洲经典中文字幕 | 亚洲人成人天堂h久久 | 国内精品久久久久久久久久久久 | 亚洲国产播放 | 国产专区一 | 色噜噜在线观看视频 | 国产伦精品一区二区三区免费 | 在线免费观看欧美日韩 | 免费成人在线视频网站 | 天天操天天操天天操天天操天天操 | 亚洲精品一区二区三区在线观看 | 久久久久五月 | 日韩在线观看精品 | 看片的网址 | 久久久久观看 | 欧美日韩国产在线精品 | 久久国产精品一区二区三区 | 国产五十路毛片 | 国产经典 欧美精品 | 国产成人免费观看 | 成人午夜在线观看 | 国产精品av免费在线观看 | 日韩欧美国产激情在线播放 | 亚洲综合欧美日韩狠狠色 | 99久久这里只有精品 | 97精品欧美91久久久久久 | 国产一二三四在线观看视频 | 亚洲欧美精品在线 | 国产精品视频观看 | 激情五月婷婷综合网 | 天天·日日日干 | 欧美精品一区二区在线播放 | 热久精品 | 狠狠操综合 | 奇米影视8888在线观看大全免费 | 亚洲干视频在线观看 | 视频直播国产精品 | 色欲综合视频天天天 | 日韩精选在线 | 久久精品视频国产 | 天天躁日日躁狠狠躁 | 超碰999| 日本二区三区在线 | 亚洲精品国产精品乱码不99热 | 中文字幕av日韩 | 日韩理论在线播放 | 免费色黄 | 久久国产精品一区二区 | 中文字幕免费在线 | 久久午夜免费观看 | 日韩高清观看 | 99久久久国产精品免费99 | 欧美日韩一级在线 | 91天天视频 | 在线观看免费成人av | 日本黄色免费网站 | 日韩在线观看影院 | 婷婷av综合| 国产精品成人aaaaa网站 | 国产在线2020| 热久久最新地址 | 精品一区二区三区香蕉蜜桃 | 国产一区在线看 | 国产成人三级一区二区在线观看一 | 园产精品久久久久久久7电影 | 日韩大陆欧美高清视频区 | av免费福利 | 亚洲精品美女久久 | 欧美吞精| www.亚洲精品视频 | 国产一级视频免费看 | 少妇bbbb搡bbbb桶 | 在线a视频免费观看 | 国产在线a| 国产精品国产三级国产aⅴ入口 | 午夜视频在线观看一区二区三区 | 97碰碰视频 | 最新中文字幕视频 | 日韩中文字幕国产 | 久草在线这里只有精品 | 在线观看av麻豆 | 四虎影视久久久 | 伊在线视频 | 免费黄av| 国产精品资源在线 | 日韩高清观看 | 天天综合入口 | 三日本三级少妇三级99 | 96久久久 | 欧美少妇xxxxxx | 亚洲成av | 一区二区三区免费在线观看 | av在线h | h动漫中文字幕 | 日本精油按摩3 | 免费在线播放视频 | 成年人看片网站 | 日韩精品一区在线观看 | 九九热只有精品 | 在线不卡中文字幕播放 | 国产正在播放 | 中中文字幕av | 夜夜爱av| 天天爽夜夜爽人人爽曰av | 色婷婷视频网 | av电影免费在线看 | 久久婷婷精品视频 | 99精品在线看 | 久久夜夜操 | 操操操日日 | 国产精品中文字幕在线观看 | 国产精品福利久久久 | 日本99热| 天天色天天操天天爽 | 日韩精品久久久免费观看夜色 | 国产成人精品一区二 | 麻豆视频网址 | 天天舔天天搞 | 九九九免费视频 | 免费观看一级特黄欧美大片 | 久草在线视频首页 | 国产精品亚洲视频 | 六月婷色 | www.夜夜爱 | 99久久夜色精品国产亚洲96 | 色婷婷综合久久久 | 日日夜夜国产 | 国产成人久久精品一区二区三区 | 免费毛片一区二区三区久久久 | 欧美精品被 | 日韩精品中文字幕久久臀 | 国产一级久久久 | 91精品国产福利 | 久久免费播放视频 | 久久国产精品一国产精品 | 国产免费观看高清完整版 | 亚洲黄色免费网站 | 欧美在线视频一区二区三区 | 免费在线黄色av | 国产精品视频免费看 | 国产精品欧美一区二区 | 色综合色综合色综合 | 日韩视频二区 | 国产一级特黄毛片在线毛片 | 日韩二三区| 精品少妇一区二区三区在线 | 婷婷在线免费 | 日日日网| 最近中文字幕完整视频高清1 | 美女网站在线观看 | 美女网站在线观看 | 99在线免费视频 | 国产第一页在线播放 | 狠狠干夜夜爱 | 成人在线播放免费观看 | 欧洲激情综合 | 超碰在线人 | 黄色免费网站大全 | 亚洲一区二区三区91 | 国产一级免费在线 | 激情av网 | 久久久久久久久免费 | 亚洲人成在线观看 | 91麻豆国产福利在线观看 | 日本中出在线观看 | 久草在线播放视频 | 视频在线在亚洲 | 国产精品国产三级国产不产一地 | 97夜夜澡人人双人人人喊 | 天天舔天天搞 | 欧美在线aaa| 成人国产电影在线观看 | 亚洲免费av观看 | 日韩精品久久久久久中文字幕8 | 天天人人 | 国产资源在线视频 | 亚洲黄色av一区 | 黄色av一区 | 国产在线传媒 | 99精品视频在线免费观看 | 91网在线观看 | 91少妇精拍在线播放 | 国产资源精品 | 狠狠干夜夜操 | 久久999久久| 精品在线视频一区 | 色天堂在线视频 | 久久久久区 | 免费观看性生活大片 | 91av在线免费视频 | 国产精品国产三级在线专区 | 欧美最猛性xxxxx(亚洲精品) | 国产色女 | 久久久久久不卡 | 久草在线免费播放 | 国产欧美日韩精品一区二区免费 | 欧美少妇18p | 免费久久久 | 日韩在线免费视频 | 狠狠狠色丁香婷婷综合激情 | 99九九视频 | 久久精品视频网址 | 激情综合色综合久久 | 视频一区二区精品 | 高清不卡一区二区三区 | 日韩在线精品一区 | 国产精品第72页 | 国产福利一区二区三区视频 | 国产91精品高清一区二区三区 | a色视频 | 免费观看全黄做爰大片国产 | 黄色片免费电影 | 91av手机在线观看 | 精品一区久久 | 久久九九视频 | 成人高清在线 | 91成人在线网站 | 久久精品国产精品亚洲 | 美女性爽视频国产免费app | 午夜色大片在线观看 | 国产精品午夜久久久久久99热 | 中文字幕激情 | 午夜影院三级 | 69国产精品视频免费观看 | 天天艹天天| 久久亚洲私人国产精品 | 国产一区成人在线 | 亚洲最新视频在线播放 | 亚洲黄色在线免费观看 | 久久久99精品免费观看乱色 | japanesexxx乱女另类 | 国产成人免费精品 | 日韩高清在线不卡 | 婷婷丁香色综合狠狠色 | 91色欧美| 波多野结衣亚洲一区二区 | 一区二区三区韩国免费中文网站 | 久久久在线视频 | 久久情爱 | 激情综合色综合久久综合 | 久久艹国产视频 | 国产色网站 | 亚洲午夜电影网 | 久久99精品波多结衣一区 | av中文字幕av | 天堂网一区二区三区 | 国产视频欧美视频 | 国产九九九精品视频 | 婷婷色资源 | 免费在线观看成年人视频 | 毛片精品免费在线观看 | 射九九| 日黄网站 | 日韩理论在线播放 | 久久人人精 | 99精品色 | 国产精品1000 | 一色av | 欧洲成人免费 | 奇米导航| 中文字幕免费在线 | 在线观看一级 | 免费黄色网址网站 | 亚洲精品欧美成人 | 国产精品福利在线观看 | 黄色最新网址 | 91片黄在线观 | 成人动图| 亚洲一区久久久 | 欧美精品久久久久久久久老牛影院 | 蜜臀91丨九色丨蝌蚪老版 | 国内精品久久久久久久影视麻豆 | 毛片在线网 | 一级特黄aaa大片在线观看 | 五月婷网站 | 四川bbb搡bbb爽爽视频 | 欧美色操| 久久国产香蕉视频 | 99久久精品免费看国产一区二区三区 | 国产精品密入口果冻 | 精品嫩模福利一区二区蜜臀 | 成人av手机在线 | 精品亚洲免费 | 日韩高清在线不卡 | 日本精品在线看 | av福利在线播放 | 亚洲精品国产精品国产 | 在线免费黄 | 国产精品破处视频 | 亚洲精品乱码久久久久久按摩 | 色香天天 | 成人动漫一区二区三区 | 亚洲精品视频在线观看网站 | 99色在线视频 | 午夜精品一区二区三区可下载 | 国产一级视屏 | 天天色天天射综合网 | 色一级片| 岛国av在线| 免费日韩视 | 五月天激情婷婷 | 国产九九九精品视频 | 久久久久国产精品免费免费搜索 | 在线 精品 国产 | 日韩毛片在线一区二区毛片 | 91在线免费视频观看 | 精品女同一区二区三区在线观看 | 色资源网免费观看视频 | 中文字幕在线视频免费播放 | 久久精品网 | 中文字幕亚洲在线观看 | 国产激情小视频在线观看 | 成人av电影免费在线观看 | 久久久久久伊人 | 超碰在线公开免费 | 久久久久久久久久久精 | 91亚洲精品在线观看 | 国产一区二区三区免费观看视频 | 深爱婷婷 | www.xxx.性狂虐 | 奇米7777狠狠狠琪琪视频 | 国产午夜精品一区 | 7799av| 高清免费在线视频 | 狠狠色网 | 天天色天天干天天色 | 黄色精品国产 | 成人免费视频视频在线观看 免费 | 国产福利中文字幕 | 国产一区二区高清视频 | 亚洲成色777777在线观看影院 | 黄色一级大片在线观看 | 久久久久久精 | 久久婷亚洲五月一区天天躁 | 免费在线成人av电影 | 超碰免费在线公开 | 久久精品久久久精品美女 | 国产三级av在线 | 久久精品久久综合 | a亚洲视频 | 亚洲久草视频 | 一级黄色片在线免费观看 | 国产小视频你懂的 | 五月天丁香视频 | 久久精品一区二区三区中文字幕 | 最新国产中文字幕 | 亚洲欧美视频在线播放 | 在线视频观看成人 | 国产精品成人a免费观看 | 久久96 | 国产一区二区在线免费视频 | 日韩乱色精品一区二区 | 国产在线观看xxx | 成年人国产在线观看 | 亚洲人成免费网站 | 四虎影视欧美 | 成人小视频免费在线观看 | 99国内精品久久久久久久 | 久久久精华网 | 精品国产一区在线观看 | 激情视频国产 | 久久99久国产精品黄毛片入口 | 91精品亚洲影视在线观看 | 欧美极品一区二区三区 | av成人免费网站 | 国产福利91精品一区二区三区 | 国产精品1区2区3区在线观看 | 亚洲精品在线免费观看视频 | 欧美激情视频一区 | 97在线观看视频免费 | 久久精品视频3 | 亚洲视频 一区 | av丝袜在线 | 欧美一区日韩一区 | 91在线网址 | 操一草 | 天天操比 | av中文电影 | 日韩精品一区二区免费视频 | 亚洲国产免费看 | 精品视频专区 | 黄色软件视频大全免费下载 | 福利视频网址 | 日本动漫做毛片一区二区 | 午夜精品久久久久久久99无限制 | 久久久精品日本 | 精品国产网址 | 亚洲最大免费成人网 | 久久999久久 | 成 人 黄 色 视频免费播放 | 黄色特一级片 | 国产精品系列在线 | 久草a在线 | 伊人五月在线 | 欧美日韩免费观看一区二区三区 | 在线小视频 | 国产精品一区二区电影 | av片中文| 精品久久久久久久久中文字幕 | 草久久av| 99爱在线| 国产中文在线播放 | 激情大尺度视频 | 18国产精品白浆在线观看免费 | 韩国一区在线 | 国产精品毛片一区视频播不卡 | 国产专区欧美专区 | 亚洲精品国产精品乱码不99热 | 免费视频你懂的 | 欧美日韩午夜 | 亚洲国产最新 | 国产在线精品一区二区 | 天天操天天干天天摸 | 97视频在线看 | 午夜精品一区二区三区在线观看 | 亚洲成人免费 | 国产黄色视| 91成人国产| 99c视频高清免费观看 | 午夜电影 电影 | 国产小视频免费在线网址 | 欧美在线观看视频一区二区三区 | av中文字幕网站 | 精品五月天| 亚洲少妇久久 | 九草在线观看 | 91女人18片女毛片60分钟 | 亚洲婷婷综合色高清在线 | 久久免费精彩视频 | 免费精品国产va自在自线 | 狠狠搞,com| 天天色天天操综合网 | 日韩在线观看网址 | 日韩免费一区二区三区 | 日日夜色| 亚洲 综合 国产 精品 | 黄色精品在线看 | 在线探花| 色妞久久福利网 | 日日夜夜添 | 在线观看黄色av | 久久99国产一区二区三区 | 五月天综合激情 | 97**国产露脸精品国产 | 夜夜爱av | 国产极品尤物在线 | 99高清视频有精品视频 | 五月天久久婷婷 | 国产精品video爽爽爽爽 | 少妇搡bbbb搡bbb搡69 | 日本不卡123| 九九一级片 | 在线看黄色av| 狠狠色噜噜狠狠狠狠 | 日韩黄色免费 | 精久久久久 | 欧美激情在线看 | av观看网站| 日韩在线观看你懂得 | 天天爽夜夜爽精品视频婷婷 | 99视频国产精品 | 亚洲情感电影大片 | 狠狠狠色丁香婷婷综合久久五月 | 国产精品免费观看久久 | 国内精品在线一区 | 免费看日韩| 99视频免费看| 国产一线天在线观看 | 免费av小说 | 亚洲专区欧美专区 | 欧美在线视频一区二区三区 | 日韩专区在线播放 | 97电影院在线观看 | 日本一区二区免费在线观看 | 毛片99| www五月天| 色五月激情五月 | 国产免费大片 | 天天综合狠狠精品 | 亚洲精品www久久久久久 | 久久久综合精品 | 国产美女精品 | 五月天激情开心 | 免费观看av | 麻豆国产精品永久免费视频 | 亚洲成人精品影院 | 国产精品久久电影网 | 夜夜躁狠狠躁 | 久久久男人的天堂 | 国产福利91精品一区二区三区 | 九九免费观看全部免费视频 | 天天干天天拍天天操天天拍 | 香蕉网在线观看 | 手机看国产毛片 | 99国产在线观看 | 丁香六月久久综合狠狠色 | 午夜神马福利 | 涩av在线 | 国产区在线 | 狠狠色噜噜狠狠 | 91av原创| 天天操天天爽天天干 | 一区二区三区精品在线视频 | 免费精品久久久 | 91丨九色丨首页 | 亚洲精品视频在线免费播放 | 99综合电影在线视频 | 久久夜夜夜 | 嫩嫩影院理论片 | 国产麻豆精品在线观看 | 成人久久久久久久久 | 日本中文字幕久久 | 在线免费观看黄网站 | 久久五月天综合 | 成人黄色在线播放 | 亚洲成人黄色 | 精品国产一区二区三区久久久蜜月 | 免费网址你懂的 | 不卡的一区二区三区 | 日韩系列在线 | 美女视频黄是免费的 | 夜夜躁狠狠躁日日躁 | 91亚洲影院| 亚洲丁香日韩 | 天天干,天天插 | 成年人国产在线观看 | 久久国产精品久久精品 | 色婷婷骚婷婷 | 一区二区三区电影 | av国产网站 | 成年人在线观看 | 国产一级片播放 | 五月婷婷.com| 国产色a在线观看 | 国产精品美女 | 青青视频一区 | 蜜臀av性久久久久av蜜臀妖精 | 69人人| 欧美激情视频一二三区 | 一区二区三区免费播放 | 91亚洲精品久久久蜜桃借种 | 国产高清不卡av | 国产在线观看99 | 狠狠地日| 午夜婷婷在线观看 | 天天干 天天摸 天天操 | 九九热在线播放 | 免费日韩视 | 国产一区二区在线免费视频 | 91少妇精拍在线播放 | 中文字幕资源站 | 一级a性色生活片久久毛片波多野 | 91人人爽久久涩噜噜噜 | 91精品视频免费看 | 日韩高清av在线 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 免费看日韩 | 久久黄色精品视频 | 成人av在线网 | 婷婷六月网 | 东方av在线免费观看 | 日韩精品一区二区三区视频播放 | 欧美精品乱码久久久久 | 久久国产午夜精品理论片最新版本 | 免费黄色av电影 | 国产 一区二区三区 在线 | 亚洲精品一区二区三区高潮 | 天天操天天干天天操天天干 | 91精品影视| 国产高清小视频 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国产黄色精品 | 国产亚洲人成网站在线观看 | 国产精品久久久久一区二区三区 | 国产精品国产三级在线专区 | 国产99视频在线观看 | 国产视频亚洲视频 | 精品资源在线 | 国内精自线一二区永久 | 日本精品视频在线观看 | 日韩一区二区三 | 日韩激情视频在线 | 午夜av一区| 国产精品黑丝在线观看 | 99热九九这里只有精品10 | 日本丶国产丶欧美色综合 | 91最新视频在线观看 | 狠狠色丁香久久婷婷综 | 久久精品视频网址 | 久久久久国产精品厨房 | 午夜色场| 日韩av片无码一区二区不卡电影 | 一级性视频 | 精品久久久久久久久久久院品网 | www色com| 国产精品21区 | 精品一区二区三区在线播放 | 又黄又刺激 | www国产亚洲 | 天天色天天干天天 | 麻豆首页 | 亚洲天堂网在线播放 | 欧美a级一区二区 | 免费色视频网址 | 成人一区二区在线观看 | 亚洲黄色免费 | 99久久er热在这里只有精品66 | 精品国产午夜 | 久久精品视频国产 | 9999免费视频| 亚洲一区二区高潮无套美女 | 久久激情视频 久久 | 亚洲精品在线免费观看视频 | 中文字幕二区三区 | 久久亚洲精品电影 | 国产精品视频最多的网站 | 国产精品精 | 国产免费a | 91经典在线 | 久久久久久久国产精品 | 蜜臀久久99精品久久久无需会员 | 人人澡av | 国产福利精品在线观看 | 国产黄色一级片在线 | 三级小视频在线观看 | 91成人免费看 | 国产一区播放 | 韩国精品在线 | 亚洲91中文字幕无线码三区 | 日韩在线高清免费视频 | 天天操天操 | 狠狠色狠狠色综合系列 | 国产精品毛片一区二区在线 | 少妇搡bbbb搡bbb搡aa | 91av视频在线观看 | 99精品久久只有精品 | 久久国产精品99国产 | 日韩美在线 | 成人黄色小视频 | 一区二区精品在线观看 | 激情影院在线 | 在线观看国产一区二区 | 999抗病毒口服液 | 亚洲精品小视频 | 日本午夜在线观看 | 奇米影视8888在线观看大全免费 | 亚洲视频www | 久久精品国亚洲 | 久久九九免费视频 | 九九免费视频 | 狠狠色丁香婷婷综合 | 欧美综合色在线图区 | 四虎永久免费网站 | 久久精品久久精品久久39 | 黄色av一区二区三区 | 国产乱对白刺激视频在线观看女王 | 久久这里 | 欧美 日韩 性 | 国产午夜在线 | 成人夜晚看av | 久久国产精品色婷婷 | 在线观看中文字幕视频 | 美女视频黄的免费的 | a久久久久久 | 久草视频中文在线 | 人人干人人草 | 91片黄在线观看 | 精品一区av |