22 - 실행 파일의 스크립트를 분석해서 해결하면 되는 문제이다.
직접 해당 스크립트를 임의로 수정해서 실행해 비밀번호를 찾으면 되는 문제이다.
분석 방법은 두가지가 있는데
정적분석과 동적분석이 있다.
정적분석은 해당 스크립트를 실행하지 않고 코드를 분석하는 방법이고
동적분석은 해당 파일을 실행시켜 결과값을 확인하는 식으로 분석하는것이다.
23 - sh 실행파일을 만들때는 명령어를 작성한후 리다이렉션을 이용해 ~.sh로 저장해주면 해당 실행파일이 완성된다. 파일의 권한을 시스템이 실행할수있게 바꾸는것도 잊으면 안된다.
echo "~" 는 출력문이다. 해당 출력문으로 리눅스에서는 명령어를 실행하는것도 가능하다.
24 - 무작위 대입공격 (brute-forcing) 해당 공격 방법을 이용하면 좋다. 무작위 패턴을 지속해서 넣어 아이디, 비밀번호, 코드 등을 찾아내는 방법이다. 즉 1~1000 까지의 숫자를 모두 때려넣어 하나만 걸려라 식의 공격인것이다. 해당 공격을 방지하기 위해 우리가 현실에서 비밀번호를 어렵게 만드는 것이다.
반복문 sh 실행문은 vi로 만들수있는데 해당 실행파일의 경우 맨위에서
#!/bin/(실행할 쉘) 을 적어줘야한다 예) #!/bin/bash(반딧기본쉘)
for 문 사용법 = for (입력받을 개체) in {입력할 숫자범위시작..숫자범위끝}
$~= 변수표시
for 안의 명령어는 do로 시작해서 done으로 끝나면 된다.
php와 다르게 특이한 점으로는 숫자가 1~9 이렇게 순서대로의 로직이 아닌 00~99 이런 범위를 주게되면 00 01 11 .... 이런식으로 숫자를 채워나간다는점이다.
해당 쉘의 결과를 nc로 넘길땐 파이프를 이용하면된다.
grep에 -v를 넣게되면 해당 글자를 가진 글자를 찾는것이 아닌 해당 글자가 포함되지 않은 줄만 찾아준다.
25 - shell 에 대한 정보는 /etc/passwd 에 있다.
cat 과 more의 차이로는 cat은 화면에 다 담기지도 않을만큼 어거지로 출력한다면 more은 해당 텍스트가 화면의 넓이를 초과했을때 화면에 다 담길 만큼만 출력하고 나머지는 커멘드에 따라 그때그때 불러와준다. 깔끔한 리더기 역할을 해줌
more를 사용하는 도중에 v를 누르게되면 vi를 실행 할 수 있음.
esc 모드중 : 를 입력하고 쉘을 지정하는 명령어를 쓸수있다.
set shell=(shell위치)
:sh = shell사용
26 - 쉬움 직접해볼것